bukkitAan de slag met bukkit


Opmerkingen

Bukkit is een eenvoudige API waarmee de normale Minecraft-multiplayer-ervaring met behulp van plug-ins kan worden aangepast.

Bukkit is nu stopgezet en is niet langer beschikbaar voor nieuwere versies van Minecraft. Spigot, een versie van Bukkit met opscheppende serverprestaties is beschikbaar. De API voor Spigot is in wezen dezelfde als Bukkit.

versies

Minecraft-versie Spigot-downloadkoppeling Publicatiedatum
1.10.2 Koppeling 2016/11/03
1.10 Koppeling 2016/06/26
1.9.4 Koppeling 2016/06/09
1.9.2 Koppeling 2016/03/30
1.9 Koppeling 2016/02/29
1.8.8 Koppeling 2015/07/28
1.8.7 Koppeling 2015/06/05
1.8.6 Koppeling 2015/05/25
1.8.5 Koppeling 2015/05/22
1.8.4 Koppeling 2015/04/17
1.8.3 Koppeling 2015/02/20
1.8 Koppeling 2014/09/02
1.7.10 Koppeling 2014/06/26
1.7.9 Koppeling 2014/04/14
1.7.8 - 2014/04/11
1.7.5 Koppeling 2014/02/26
1.7.2 Koppeling 2013/10/25
1.6.4 Koppeling 2013/09/19
1.6.2 Koppeling 2013/07/08
1.5.2 Koppeling 2013/05/02
1.5.1 Koppeling 2013/03/21
1.4.7 Koppeling 2013/01/09
1.4.6 - 2012/12/20

Een plug-in maken

voorwaarden

  • JDK 7 of hoger (aanbevolen: JDK 8+)

Bukkit toevoegen als een afhankelijkheid

De eenvoudigste methode om de Bukkit API aan uw project toe te voegen, is om Bukkit.jar rechtstreeks vanuit de Spigot Repository te downloaden en toe te voegen aan het klassenpad van uw project. Verouderde versies van Bukkit zijn te vinden in de Bukkit Repository .

De andere is om het toe te voegen als een Maven-afhankelijkheid, door de volgende regels toe te voegen aan uw pom.xml :

<repositories>
    <repository>
        <id>spigot-repo</id>
        <url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
    </repository>
</repositories>
<dependencies>
    <!--Bukkit API-->
    <dependency>
        <groupId>org.bukkit</groupId>
        <artifactId>bukkit</artifactId>
        <version>{VERSION}</version>
        <scope>provided</scope>
    </dependency>
</dependencies>
 

Hoofdklasse

De hoofdklasse van de plug-in is het toegangspunt voor Bukkit om een interactie met uw plug-in te laden. Het is een klasse die JavaPlugin uitbreidt en slechts één exemplaar ervan moet door uw plug-in worden gemaakt. Volgens afspraak is het goed om deze klasse dezelfde naam te geven als uw plug-in.

Hier is een voorbeeld van een hoofd-plugin-klasse voor de plug-in "MyPlugin":

package com.example.myplugin; //{$TopLevelDomain}.{$Domain}.{$PluginName};

import org.bukkit.plugin.java.JavaPlugin;

public final class MyPlugin extends JavaPlugin {

    @Override
    public void onEnable() {
        //Called when the plugin is enabled
        getLogger().info("onEnable has been invoked!");
    }

    @Override
    public void onDisable() {
        //Called when the plugin is disabled
        getLogger().info("onDisable has been invoked!");
    }

}
 

Om toegang te krijgen tot uw plug-in exemplaar van een andere klasse, moet u het exemplaar van uw MyPlugin-klasse gemaakt door Bukkit opslaan, zodat deze toegankelijk is van buiten de klas.

public class MyPlugin extends JavaPlugin {

    private static MyPlugin instance; //Effectively final variable containing your plugin's instance

    public MyPlugin(){
        if(MyPlugin.instance != null) { //Unnecessary check but ensures your plugin is only initialized once.
            throw new Error("Plugin already initialized!");
        }

        MyPlugin.instance = this; //A plugin's constructor should only be called once
    }

    public static MyPlugin getInstance(){ //Get's your plugin's instance
        return instance;
    }

    //your other code...
}
 

Gebruik vervolgens MyPlugin.getInstance() om toegang te krijgen tot uw hoofdklasse vanuit een andere klasse.

public class MyOtherClass {

    public void doSomethingWithMainClass(){
        MyPlugin.getInstance().getLogger().info("We just used MyPlugin");
    }

}
 

Een plugin.yml maken

Het plugin.yml-bestand gaat in de root van uw laatste jar-bestand en biedt essentiële informatie aan Bukkit om uw plug-in te laden. De meest eenvoudige plugin.yml ziet er zo uit

name: {$PluginName}               //The name of the plugin
main: {$PackageName}.{$MainClass} //The fully qualified name of the main class.
version: {$Version}               //The plugin's version
 

Bijvoorbeeld met de bovenstaande MyPlugin-klasse

name: MyPlugin
main: com.example.myplugin.MyPlugin
version: 1.0
 

BuildTools

Wat is het?

BuildTools.jar is een oplossing voor het bouwen van Bukkit, CraftBukkit, Spigot en de Spigot-API. Dit alles gebeurt op uw computer! Er zijn enkele vereiste programma's nodig, maar de onderstaande instructies helpen u bij alles wat u moet doen.

voorwaarden

Er zijn twee applicaties nodig om BuildTools te gebruiken: Git en Java.

ramen

Git

Om BuildTools op Windows te laten werken, moet je Git installeren. Voor Windows Het wordt verspreid via git-scm, die kan worden gedownload hier . Installeer het waar je wilt, het geeft git bash, dat zal worden gebruikt om de BuildTools-pot te draaien. Blijf gewoon de volgende raken wanneer u het installatieprogramma uitvoert.

Java

Download JRE 8 vanaf hier en installeer. Blijf gewoon de volgende raken wanneer u het installatieprogramma uitvoert.

Linux

Zowel git als Java, evenals util-opdrachten, kunnen worden geïnstalleerd met een enkele opdracht via je pakketmanager.

Debian / Ubuntu: sudo apt-get install git openjdk-7-jre-headless tar

CentOS / RHEL: sudo dnf install git java-1.7.0-openjdk-devel tar

Boog: pacman -S jdk8-openjdk git

Mac

Git kan worden gedownload van: http://sourceforge.net/projects/git-osx-installer/files/

Java moet mogelijk worden bijgewerkt vanaf de door Apple gedistribueerde versie, en zelfs als het eerder is bijgewerkt, moet het mogelijk worden gekoppeld voor shell-gebruik. Volg de stappen hier: https://gist.github.com/johan/10590467

BuildTools uitvoeren

  1. Download BuildTools.jar van https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar .

  2. Open je terminal als je Linux gebruikt, of git bash op Windows.

    1. Git bash is te vinden op het bureaublad of in het Start-menu onder de naam "git bash". Het is ook mogelijk om het te openen door met de rechtermuisknop op alles te klikken, omdat het nu een item in uw contextmenu is.
  3. Navigeer naar waar u BuildTools.jar hebt gedownload of gebruik de opdrachtregel om de jar naar uw huidige map te downloaden.

    1. In Windows kun je het cd-commando gebruiken om van map te veranderen, of je kunt met de rechtermuisknop op de lege ruimte van de map klikken waar BuildTools.jar is (klik NIET op BuildTools.jar zelf) en klik op "git bash", waardoor het wordt geopend in uw huidige map.
  4. Voer BuildTools.jar uit vanaf de terminal (dubbelklik niet op BuildTools.jar) door het volgende te doen:

    1. Voer op Linux git config --global --unset core.autocrlf uit en voer vervolgens java -jar BuildTools.jar in bash of een andere geschikte shell uit.
    2. Voer in Windows het onderstaande commando uit in het geopende git bash-venster: java -jar BuildTools.jar Let op: het is vereist dat je BuildTools # 35 of hoger hebt, oudere versies werken niet.
    3. Voer op Mac de onderstaande opdrachten uit, exporteer MAVEN_OPTS = "- Xmx2G" java -Xmx2G -jar BuildTools.jar
    4. Als u een oudere versie nodig hebt, kunt u de versie opgeven met het argument --rev to BuildTools, bijvoorbeeld voor 1.8.8: java -jar BuildTools.jar --rev 1.8.8
  1. Wacht terwijl het je potten bouwt. In een paar minuten zou je vers gecompileerde potten moeten hebben!

  2. U kunt CraftBukkit en Spigot vinden in dezelfde map waarin u BuildTools.jar hebt uitgevoerd (voor minecraft versie 1.10 zouden dit craftbukkit-1.10.jar en spigot-1.10.jar zijn). U kunt Spigot-API vinden in \ Spigot \ Spigot-API \ target \ (voor minecraft versie 1.10 zou dit spigot-api-1.10-R0.1-SNAPSHOT.jar zijn).

Maak een testserver op Windows

Om een server te kunnen maken, moet je de spigot of het bukkit jar-bestand hebben. Raadpleeg het onderwerpversies om uw pot te selecteren

  1. Maak eerst een nieuwe map. Plaats het bestand spigot / bukkit jar in die map.
  2. Klik met de rechtermuisknop in de map en kies Nieuw> Tekstdocument.
  3. Noem het nieuwe document start.bat, klik er met de rechtermuisknop op en klik op Bewerken.
  4. Voeg de volgende code toe:
@echo off
java -Xms512M -Xmx1G -XX:+UseConcMarkSweepGC -jar {YOUR_JAR.jar}
pause
 

Vergeet niet om {YOUR_JAR.jar} te wijzigen voor de pot die u hebt gedownload voordat u aan deze onderwerpen begint.

  1. U kunt -Xms bewerken om het minimaal toegestane RAM te wijzigen (bijv: -Xms1024M = 1024MB, -Xms1G = 1GB). U kunt ook -Xmx bewerken om het maximaal toegestane RAM-geheugen te wijzigen. Zorg ervoor dat het maximum groter is dan het minimum.
  2. Sla het bestand op, sluit het venster en start uw start.bat bestand. Uw server zou nu moeten openen. Als u de server wilt uitvoeren, moet u de EULA accepteren.
  3. Als u akkoord gaat met de EULA , opent u eula.txt wijzig eula=false naar eula=true Klik op "Opslaan" en dan zou u nu uw server moeten kunnen starten.
  4. Om verbinding te maken met uw server, voert u start.bat , opent u Minecraft, voegt u een server toe en plaatst u localhost als IP.