Programmieren – die neusten Beiträge

Minecraft Plugins zu localhost Server hinzufügen?

Hey,

Ich versuche seit kurzer Zeit programmieren mit Java zu lernen und dachte mir, dass ich mit simplen Plugins für das Computerspiel Minecraft anfange.

Ich habe mir bereits auf meinem Pc einen Spigot-Server für Minecraft von Bukkit erstellt der soweit auch funktioniert. Außerdem habe ich mit Eclipse ein erstes Test-Plugin erstellt. Dieses habe ich nun als Jar-Datei exportiert und anschließend in den Plugins-Ordner, der sich im Ordner meines erstellten Spigot-Server befindet. Soweit ich es verstanden habe, sollte das Plugin dadurch beim Starten des Servers geladen und nach dem Joinen auf den Server verwendbar sein.

Allerdings funktionert dies bei mir nicht. Das Plugin kann weder auf dem Server benutzt werden, noch wird es beim Starten des Servers in der Konsole angezeigt. Auch wenn ich plugins in die Konsole, bzw. in den Chat auf dem Minecraft-Server eingebe, wird angezeigt, dass kein Plugin auf dem Server vorhanden ist.

Laut dem YouTuber BiVieh, durch den ich versuche meine ersten Schritte bei der Programmierung zu machen, sollte beim Start des Servers jedoch folgende Nachricht (bzw. so ähnlich) in der Konsole auftauchen:

Dieses Bild habe ich aus einem Video, in dem er erklärt, wie man ein Plugin aus Eclipse exportiert und sie auf einem localhost Server zum Laufen bringen kann:

(4) 💡 Plugin exportieren und plugin.yml! 💡 02-04 || Minecraft Plugins Programmieren für Anfänger - YouTube

Außerdem habe ich das Problem, dass die exportierten Jar-Dateien, im Gegensatz zu denen, in BiViehs Tutuorials nicht das Java-Icon haben, sondern das, einer txt-Datei.

Ich weiß jedoch nicht, ob dies mit meinem obigen Problem zusammenhängt, bzw. ob es eventuell sogar egal ist, ob sie ein anderes Icon haben. Mir ist jedoch aufgefallen, dass die yml-Dateien hingegen das Java-Icon haben. Hat es damit vielleicht irgendwas zu tun?

Meine 3 Fragen sind also:

  1. Wie bringe ich mein Plugin auf dem Spigot-Server zum Laufen?
  2. Warum haben die Jar-Dateien bei mir nicht das Java-Logo und bringt das irgendwelche Nachteile?
  3. Was genau sind yml-Dateien? Habe das noch nicht ganz verstanden.

Ich freue mich über jede Antwort, vor allem über die, die mir bei meinem Problem weiterhelfen können. ; )

Bild zum Beitrag
Server, Computer, programmieren, Java, Minecraft, Technologie, Spiele und Gaming

Python Socket Programmierung Error?

#Server
import socket
ip_input = input("Gib deine IP an: ")
ip_input = str(ip_input)
IP_SERVER = ip_input
DISCONNECT_MESSAGE = "!DISCONNECT"
def start():
  server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  server.bind( (IP_SERVER, 5050) )
  print("Server gestartet")
  server.listen()
  conn, addr = server.accept()
  print(f"Client with IP {conn} connected")
  while True:
    msg = server.recv(1024)
    msg.decode("utf-8")
    print(f"Message: {msg}")
    if msg == DISCONNECT_MESSAGE:
      server.close()
      conn.close()
if __name__ == "__main__":
  start()
#Client
import socket
def start():
  server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  server.connect( ("192.168.1.100", 5050) )
  while True:
    msg = str(input("Your Message: "))
    msg = msg.encode()
    server.send(msg)
    answer = server.recv(1024)
    answer = answer.decode("utf-8")
    print(f"Antwort: {answer}")
if __name__ == "__main__":
  start()
#Error

Gib deine IP an: 192.168.1.100

Server gestartet

Client with IP <socket.socket fd=372, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('192.168.1.100', 5050), raddr=('192.168.1.100', 60324)> connected

Traceback (most recent call last):

 File "c:\Users\User\OneDrive\Python\Server_2.py", line 26, in <module>

  start()

 File "c:\Users\User\OneDrive\Python\Server_2.py", line 17, in start

  msg = server.recv(1024)

OSError: [WinError 10057] Eine Anforderung zum Senden oder Empfangen von Daten wurde verhindert, da der Socket nicht verbunden ist und (beim Senden über einen Datagrammsocket mit einem sendto-Aufruf) keine Adresse angegeben wurde

Computer, Netzwerk, programmieren, Informatik, Python, Python 3

Python Socket geht nicht?

Moin,

mein Client Code stürzt immer ab.

# Server Code
import socket


class txt_chat:
    def __init__(self):
        self.IP_SERVER = socket.gethostbyname(socket.gethostname())
        self.DISCONNECT_MESSAGE = "!DISCONNECT"


    def start(self):
        server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        server.bind( (self.IP_SERVER, 5050) )
        print("Server gestartet")
        server.listen()
        conn, addr = server.accept()
        print(f"Client with IP {conn} connected")


        while True:
            msg = server.recv(1024)
            msg.decode("utf-8")
            print(f"Message: {msg}")


            if msg == self.DISCONNECT_MESSAGE:
                server.close()
                conn.close()


txt = txt_chat()
txt.start()

# Client Code (Der nicht funktioniert)

import socket


class txt_chat:
    def start():
        server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        server.connect( ("192.168.1.14", 5050) )


        while True:
            msg = str(input("Your Message: "))
            msg = msg.encode()
            server.send(msg)


            answer = server.recv(1024)
            answer = answer.decode("utf-8")
            print(f"Antwort: {answer}")


txt = txt_chat()
txt.start()

#Error
Traceback (most recent call last):
  File "C:\Users\User\OneDrive\Python\client2.py", line 18, in <module>
    txt.start()
TypeError: start() takes 0 positional arguments but 1 was given
Computer, programmieren, Informatik, Python

Programm beenden in Java?

Biite so machen das es nach ner Zeit beendet (Zeit egal)

int numBalls = 5 + (int)(Math.random() * ((15 - 5) + 1));
float spring = 0.05;
float gravity = 0.03;
float friction = -0.9;
int score = 0;
int timer = 2;
int Java = 1;
Ball[] balls = new Ball[numBalls];




void setup() {
  size(1920, 920);
  for (int i = 0; i < numBalls; i++ ) {
    balls[i] = new Ball(random(width), random(height), random(30, 70), i, balls);
  }
  noStroke();
  fill(255, 204);
  //  circleColor = color(255);
}


void draw() {
  background(255, 255, 255);
  for (Ball ball : balls) {
    ball.collide();
    ball.move();
    ball.display();
  }
}


void mousePressed() {
  for (Ball ball : balls) {
    if (ball == null) {
      break;
    }
    if (ball.wasHit ( mouseX, mouseY)) {
      ball.destroyBall();
    }
  }
}


class Ball {


  float x, y;
  float diameter;
  float vx = 0;
  float vy = 0;
  int id;
  float lifespan;
  float radius;
  color circleColor;
  float xin;
  float yin;
  float din;
  int idin;
  Ball[] others;


  Ball(float xin, float yin, float din, int idin, Ball[] oin) {
    x = xin;
    y = yin;
    diameter = din;
    id = idin;
    others = oin;
    lifespan = random(2000.0 - 750.0) + 750;
    radius = diameter/2;
    circleColor =  color(random(255), random(255), random(255));
  }


  void collide() {
    for (int i = id + 1; i < numBalls; i++) {
      float dx = others[i].x - x;
      float dy = others[i].y - y;
      float distance = sqrt(dx*dx + dy*dy);
      float minDist = others[i].diameter/2 + diameter/2;
      if (distance < minDist) {
        float angle = atan2(dy, dx);
        float targetX = x + cos(angle) * minDist;
        float targetY = y + sin(angle) * minDist;
        float ax = (targetX - others[i].x) * spring;
        float ay = (targetY - others[i].y) * spring;
        vx -= ax;
        vy -= ay;
        others[i].vx += ax;
        others[i].vy += ay;
      }
    }
  }


  void move() {
    vy += gravity;
    x += vx;
    y += vy;
    lifespan -= 2.0;
    if (x + diameter/2 > width) {
      x = width - diameter/2;
      vx *= friction;
    } else if (x - diameter/2 < 0) {
      x = diameter/2;
      vx *= friction;
    }
    if (y + diameter/2 > height) {
      y = height - diameter/2;
      vy *= friction;
    } else if (y - diameter/2 < 0) {
      y = diameter/2;
      vy *= friction;
    }
    /* boolean isDead() {
     return (lifespan < 0.0);
     }*/
  }


  void display() {
    stroke(255, lifespan);
    fill(circleColor, lifespan);
    ellipse(x, y, diameter, diameter);
    textAlign(CENTER, CENTER);
    fill(200);
    textSize(50);
    text("Score = " + (score), 110, 10);
  }
  boolean wasHit(float ShotX, float ShotY) {
    if ((y +diameter/2 >= ShotY && y - diameter/2 <= ShotY) &&
      (x +diameter/2 >= ShotX && x - diameter/2 <= ShotX)) {
      return true;
    }
    return false;
  }
  void destroyBall() {
    lifespan = random(500.0 - 250.0) + 250;
    score++;
    x = random(width);
    y = random(height);
  }
}
Computer, programmieren, Java, Processing, Spiele und Gaming

Java Processing Game over Screen erstellen?

Hey ich habe eine Version von Pong erstellt um mich ein wenig rumzuprobierem. Demnach ist es weder schön noch besonders ausgereift. Ich habe folgendes gecodet und Frage mich wie ich auf Knopfdruck ein neues Spiel starten kann. Ich hab schon was implementiert was aber nicht funktioniert hatt. Vielleicht ist der Ansatz ja auch richtig. Vielen Dank:

int screen = 0;
int end = 0;
float x = 0;
float y = 0;

int xball = 500;
int yball = 500;
int xdir = 1;
int ydir = 1;



void setup(){
  
 fullScreen();
 smooth();
  
}

void draw(){
 background(38,30,38);
 strokeWeight(5);
 stroke(39,255,36);
 fill(39, 181, 36);
 rect(25,(mouseY/25)*25,25,25);
 rect(25,((mouseY/25)*25)+25,25,25);
 rect(25,((mouseY/25)*25)-25,25,25);
 rect(25,((mouseY/25)*25)-50,25,25);
 rect(25,((mouseY/25)*25)+50,25,25);
  
  
 stroke(255,39,36);
 fill(181,39,36);
  
 
  
  
 fill(255,39,36);
 stroke(181,39,36);
 rect((xball/25)*25,(yball/25)*25,25,25);
 xball = xball+xdir*4;
 yball = yball+ydir*2;
  
  
  
  if (xball > width-25){
   xdir = xdir * -1;
  }  
 
 if (xball < 25){
  screen = 1;
 }
 
 if (xball < 75){
  if (xball > 25){
  if (yball > ((mouseY/25)*25)-50){
   if(yball < ((mouseY/25)*25)+50){
   xdir = xdir * -1;
  }}}}
  
  
 if (yball > height-25 || yball < 25){
   ydir = ydir * -1;
  }
   
 if (screen > 0){
  noStroke();
  fill(0);
  rect(0,0,width,height);
  stroke(255);
  fill(255);
  textSize(150);
  text("Game Over",width/4-100,height/2);
  fill(150);
  stroke(150);
  text("again?",width/4+100,height/2+260);
  end = 1;
 }
   
}



void mouseClicked (){
  
 background(38,30,38);
 if(mouseX > width/4+100){
  if(mouseX < width/4+600){
   if(mouseY > height/2+260){
    if(mouseY < height/+310){
     if(end > 0){
      screen = -1;
      end = 0;
      xball = 500;
      yball = 500;
      xdir = 1;
      ydir = 1;
      x = 0;
      y = 0;
      
 
 
 }}}}}
  
}
programmieren, Java, Processing

Javascript Cookie beim neu laden verhindern?

Hallo,

Wie kann ich verhindern, dass der Cookie beim neu Laden der Seite verhindert wird? Denn immer, wenn ich am Anfang den Namen des Besuchers abfrage, wird dieser nicht nur immer beim neuen betreten der Website gezeigt, sondern auch, wenn man die Seite neu lädt. Wie kann ich das verhindern?

Vielen Dank!

Hier mein Code:

<!DOCTYPE html>


<html>
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
    </head>
    <body onload="checkCookie()">
        <input type = "button" onclick = "setCookie('anwender','',-1)" value = "Cookie
        l&ouml;schen">
        <h1>Website Test-Cookie</h1>
        <script>
        function setCookie(cookieName,inhalt,dauer) {
            let datum = new Date();
            datum.setTime(datum.getTime() + (dauer*24*60*60*1000));
            let ablaufdatum = "expires=" + datum.toGMTString();
            document.cookie = cookieName + "=" + inhalt + ";" + ablaufdatum;
        }


        function getCookie(cookieName) {
            cookieName += "=";   
            let decCookie = decodeURIComponent(document.cookie);          
            let arr = decCookie.split(';');
            for(let i = 0; i < arr.length; i++) {
                let inhalt = arr[i];
                while (inhalt.charAt(0) == ' ') {
                    inhalt = inhalt.substring(1);
                }
                if (inhalt.indexOf(cookieName) == 0) {
                    return inhalt.substring(cookieName.length);
                }
            }
            return "";
        }


        function checkCookie() {
            let anwender = getCookie("anwender");
            if (anwender != "") {
                alert("Hallo " + anwender + "!");
                $("h1").hide();
            }
            else {
                anwender = prompt("Geben Sie bitte Ihren Namen ein:");
                $("h1").show();
                if (anwender != "" && anwender != null) {
                    setCookie("anwender", anwender, 180);
                }
            }
        }
        </script>
    </body>
</html>


HTML, programmieren, JavaScript, Cookies

Meistgelesene Beiträge zum Thema Programmieren