Skip to content

Commit

Permalink
convert to gradle
Browse files Browse the repository at this point in the history
  • Loading branch information
Brokkonaut committed Apr 13, 2024
1 parent ba90815 commit c1553a9
Show file tree
Hide file tree
Showing 135 changed files with 691 additions and 10,499 deletions.
5 changes: 5 additions & 0 deletions .gitignore
Expand Up @@ -6,3 +6,8 @@ dependency-reduced-pom.xml

#IntelliJ
.idea

#Gradle
.gradle
classes
build
65 changes: 65 additions & 0 deletions adapter/paper1_20_4/build.gradle.kts
@@ -0,0 +1,65 @@
plugins {
`maven-publish`
`java-library`
id("io.papermc.paperweight.userdev") version "1.5.13"
}

group = "de.cubeside.nmsutils"
version = "0.0.1-SNAPSHOT"
description = "nms adapter"

repositories {
mavenLocal()
}

java {
// Configure the java toolchain. This allows gradle to auto-provision JDK 17 on systems that only have JDK 8 installed for example.
toolchain.languageVersion = JavaLanguageVersion.of(17)
}

dependencies {
implementation(project(":core"))
// implementation("de.cubeside.nmsutils:nmsutils-core:0.0.1-SNAPSHOT")
paperweight.paperDevBundle("1.20.4-R0.1-SNAPSHOT")
// paperweight.foliaDevBundle("1.20.4-R0.1-SNAPSHOT")
// paperweight.devBundle("com.example.paperfork", "1.20.4-R0.1-SNAPSHOT")
}

tasks {
// Configure reobfJar to run when invoking the build task
assemble {
dependsOn(reobfJar)
}

compileJava {
options.encoding = Charsets.UTF_8.name() // We want UTF-8 for everything

// Set the release flag. This configures what version bytecode the compiler will emit, as well as what JDK APIs are usable.
// See https://openjdk.java.net/jeps/247 for more information.
options.release = 17
}
javadoc {
options.encoding = Charsets.UTF_8.name() // We want UTF-8 for everything
}

/*
reobfJar. {
// This is an example of how you might change the output location for reobfJar. It's recommended not to do this
// for a variety of reasons, however it's asked frequently enough that an example of how to do it is included here.
outputJar = layout.buildDirectory.file("libs/PaperweightTestPlugin-${project.version}.jar")
}
*/
}

publishing {
publications {
create<MavenPublication>("maven") {
artifact(tasks.reobfJar)
groupId = "de.cubeside.nmsutils"
artifactId = "nmsutils-paper1_20_4"
version = "0.0.1-SNAPSHOT"

from(components["java"])
}
}
}
@@ -1,4 +1,4 @@
package de.cubeside.nmsutils.v1_19_R3;
package de.cubeside.nmsutils.paper1_20_4;

import com.mojang.serialization.Lifecycle;
import de.cubeside.nmsutils.BiomeUtils;
Expand Down Expand Up @@ -31,8 +31,8 @@
import org.bukkit.Location;
import org.bukkit.NamespacedKey;
import org.bukkit.Server;
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
import org.bukkit.craftbukkit.v1_19_R3.CraftWorld;
import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
import org.bukkit.craftbukkit.v1_20_R3.CraftWorld;

public class BiomeUtilsImpl implements BiomeUtils {
private final NMSUtilsImpl nmsUtils;
Expand Down Expand Up @@ -100,13 +100,13 @@ public CustomBiome registerCustomBiome(NamespacedKey id, float downfall, float t
if (grassColor != null) {
effects.grassColorOverride(grassColor);
}
effects.ambientMoodSound(AmbientMoodSettings.LEGACY_CAVE_SETTINGS);
net.minecraft.world.level.biome.BiomeSpecialEffects.GrassColorModifier nativeGrassColorModifier = switch (grassColorModifier) {
case DARK_FOREST -> net.minecraft.world.level.biome.BiomeSpecialEffects.GrassColorModifier.DARK_FOREST;
case SWAMP -> net.minecraft.world.level.biome.BiomeSpecialEffects.GrassColorModifier.SWAMP;
default -> net.minecraft.world.level.biome.BiomeSpecialEffects.GrassColorModifier.NONE;
};
effects.grassColorModifier(nativeGrassColorModifier);
effects.ambientMoodSound(AmbientMoodSettings.LEGACY_CAVE_SETTINGS);
builder.specialEffects(effects.build());

Biome newbiome = builder.build();
Expand Down
@@ -1,4 +1,4 @@
package de.cubeside.nmsutils.v1_20_R1;
package de.cubeside.nmsutils.paper1_20_4;

import com.google.common.base.Preconditions;
import de.cubeside.nmsutils.nbt.TagType;
Expand Down
@@ -1,4 +1,4 @@
package de.cubeside.nmsutils.v1_19_R3;
package de.cubeside.nmsutils.paper1_20_4;

import de.cubeside.nmsutils.biome.CustomBiome;
import net.minecraft.core.BlockPos.MutableBlockPos;
Expand All @@ -9,7 +9,7 @@
import net.minecraft.world.level.chunk.LevelChunk;
import org.bukkit.Location;
import org.bukkit.NamespacedKey;
import org.bukkit.craftbukkit.v1_19_R3.CraftWorld;
import org.bukkit.craftbukkit.v1_20_R3.CraftWorld;

public class CustomBiomeImpl implements CustomBiome {
private NamespacedKey bukkitKey;
Expand Down
@@ -1,4 +1,4 @@
package de.cubeside.nmsutils.v1_20_R2;
package de.cubeside.nmsutils.paper1_20_4;

import com.destroystokyo.paper.entity.ai.VanillaGoal;
import de.cubeside.nmsutils.EntityUtils;
Expand All @@ -24,17 +24,17 @@
import org.bukkit.Chunk;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.craftbukkit.v1_20_R2.CraftWorld;
import org.bukkit.craftbukkit.v1_20_R2.entity.CraftBat;
import org.bukkit.craftbukkit.v1_20_R2.entity.CraftCamel;
import org.bukkit.craftbukkit.v1_20_R2.entity.CraftCreature;
import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
import org.bukkit.craftbukkit.v1_20_R2.entity.CraftMob;
import org.bukkit.craftbukkit.v1_20_R2.entity.CraftPiglin;
import org.bukkit.craftbukkit.v1_20_R2.entity.CraftRaider;
import org.bukkit.craftbukkit.v1_20_R2.entity.CraftShulker;
import org.bukkit.craftbukkit.v1_20_R2.entity.CraftVex;
import org.bukkit.craftbukkit.v1_20_R2.entity.CraftWolf;
import org.bukkit.craftbukkit.v1_20_R3.CraftWorld;
import org.bukkit.craftbukkit.v1_20_R3.entity.CraftBat;
import org.bukkit.craftbukkit.v1_20_R3.entity.CraftCamel;
import org.bukkit.craftbukkit.v1_20_R3.entity.CraftCreature;
import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
import org.bukkit.craftbukkit.v1_20_R3.entity.CraftMob;
import org.bukkit.craftbukkit.v1_20_R3.entity.CraftPiglin;
import org.bukkit.craftbukkit.v1_20_R3.entity.CraftRaider;
import org.bukkit.craftbukkit.v1_20_R3.entity.CraftShulker;
import org.bukkit.craftbukkit.v1_20_R3.entity.CraftVex;
import org.bukkit.craftbukkit.v1_20_R3.entity.CraftWolf;
import org.bukkit.entity.Bat;
import org.bukkit.entity.Creature;
import org.bukkit.entity.EntityType;
Expand Down
@@ -1,4 +1,4 @@
package de.cubeside.nmsutils.v1_20_R2;
package de.cubeside.nmsutils.paper1_20_4;

import de.cubeside.nmsutils.nbt.TagType;
import java.util.UUID;
Expand Down
@@ -1,4 +1,4 @@
package de.cubeside.nmsutils.v1_20_R2;
package de.cubeside.nmsutils.paper1_20_4;

import de.cubeside.nmsutils.MiscUtils;
import de.cubeside.nmsutils.NMSUtils;
Expand All @@ -8,6 +8,8 @@
import net.md_5.bungee.api.chat.BaseComponent;
import net.minecraft.ChatFormatting;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.numbers.BlankFormat;
import net.minecraft.network.chat.numbers.NumberFormat;
import net.minecraft.network.protocol.game.ClientboundSetPlayerTeamPacket;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockBehaviour;
Expand All @@ -19,8 +21,8 @@
import net.minecraft.world.scores.Scoreboard;
import net.minecraft.world.scores.Team.Visibility;
import org.bukkit.Material;
import org.bukkit.craftbukkit.v1_20_R2.util.CraftChatMessage;
import org.bukkit.craftbukkit.v1_20_R2.util.CraftMagicNumbers;
import org.bukkit.craftbukkit.v1_20_R3.util.CraftChatMessage;
import org.bukkit.craftbukkit.v1_20_R3.util.CraftMagicNumbers;
import org.bukkit.scoreboard.Team.OptionStatus;

public class MiscUtilsImpl implements MiscUtils {
Expand Down Expand Up @@ -112,4 +114,14 @@ private static Component baseComponentToComponent(BaseComponent c) {
String json = net.md_5.bungee.chat.ComponentSerializer.toString(c);
return PaperAdventure.asVanilla(net.kyori.adventure.text.serializer.gson.GsonComponentSerializer.gson().deserialize(json));
}

@Override
public Class<? extends Object> getNumberFormatClass() {
return NumberFormat.class;
}

@Override
public Object getBlankNumberFormatInstance() {
return BlankFormat.INSTANCE;
}
}
@@ -1,4 +1,4 @@
package de.cubeside.nmsutils.v1_19_R3;
package de.cubeside.nmsutils.paper1_20_4;

import de.cubeside.nmsutils.BiomeUtils;
import de.cubeside.nmsutils.EntityUtils;
Expand Down
@@ -1,4 +1,4 @@
package de.cubeside.nmsutils.v1_19_R3;
package de.cubeside.nmsutils.paper1_20_4;

import de.cubeside.nmsutils.NbtUtils;
import de.cubeside.nmsutils.nbt.CompoundTag;
Expand Down
@@ -1,10 +1,10 @@
package de.cubeside.nmsutils.v1_20_R2;
package de.cubeside.nmsutils.paper1_20_4;

import java.util.function.Function;
import net.minecraft.world.entity.PathfinderMob;
import net.minecraft.world.entity.ai.goal.RandomStrollGoal;
import net.minecraft.world.phys.Vec3;
import org.bukkit.craftbukkit.v1_20_R2.util.CraftVector;
import org.bukkit.craftbukkit.v1_20_R3.util.CraftVector;
import org.bukkit.util.Vector;

public class PathfinderGoalLimitedRandomStrollLand extends RandomStrollGoal {
Expand Down
@@ -1,4 +1,4 @@
package de.cubeside.nmsutils.v1_19_R3;
package de.cubeside.nmsutils.paper1_20_4;

import de.cubeside.nmsutils.WorldUtils;
import io.papermc.paper.chunk.system.io.RegionFileIOThread;
Expand All @@ -13,8 +13,8 @@
import org.bukkit.Chunk;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.craftbukkit.v1_19_R3.CraftChunk;
import org.bukkit.craftbukkit.v1_19_R3.CraftWorld;
import org.bukkit.craftbukkit.v1_20_R3.CraftChunk;
import org.bukkit.craftbukkit.v1_20_R3.CraftWorld;
import org.bukkit.entity.Player;

public class WorldUtilsImpl implements WorldUtils {
Expand Down
64 changes: 64 additions & 0 deletions adapter/v1_20_R3/build.gradle.kts
@@ -0,0 +1,64 @@
plugins {
`maven-publish`
`java-library`
id("io.papermc.paperweight.userdev") version "1.5.13"
}

group = "de.cubeside.nmsutils"
version = "0.0.1-SNAPSHOT"
description = "nms adapter"

repositories {
mavenLocal()
}

java {
// Configure the java toolchain. This allows gradle to auto-provision JDK 17 on systems that only have JDK 8 installed for example.
toolchain.languageVersion = JavaLanguageVersion.of(17)
}

dependencies {
implementation(project(":core"))
// implementation("de.cubeside.nmsutils:nmsutils-core:0.0.1-SNAPSHOT")
paperweight.paperDevBundle("1.20.4-R0.1-SNAPSHOT")
// paperweight.foliaDevBundle("1.20.4-R0.1-SNAPSHOT")
// paperweight.devBundle("com.example.paperfork", "1.20.4-R0.1-SNAPSHOT")
}

tasks {
// Configure reobfJar to run when invoking the build task
assemble {
dependsOn(reobfJar)
}

compileJava {
options.encoding = Charsets.UTF_8.name() // We want UTF-8 for everything

// Set the release flag. This configures what version bytecode the compiler will emit, as well as what JDK APIs are usable.
// See https://openjdk.java.net/jeps/247 for more information.
options.release = 17
}
javadoc {
options.encoding = Charsets.UTF_8.name() // We want UTF-8 for everything
}

/*
reobfJar. {
// This is an example of how you might change the output location for reobfJar. It's recommended not to do this
// for a variety of reasons, however it's asked frequently enough that an example of how to do it is included here.
outputJar = layout.buildDirectory.file("libs/PaperweightTestPlugin-${project.version}.jar")
}
*/
}
publishing {
publications {
create<MavenPublication>("maven") {
artifact(tasks.reobfJar)
groupId = "de.cubeside.nmsutils"
artifactId = "nmsutils-" + project.name
version = "0.0.1-SNAPSHOT"

from(components["java"])
}
}
}
22 changes: 22 additions & 0 deletions build.gradle.kts
@@ -0,0 +1,22 @@
plugins {
`maven-publish`
`java-library`
id("io.papermc.paperweight.userdev") version "1.5.13" apply false
}

group = "de.cubeside.nmsutils"
version = "0.0.1-SNAPSHOT"
description = "nms adapter"

repositories {
mavenCentral()
mavenLocal()
}

java {
toolchain.languageVersion = JavaLanguageVersion.of(17)
}

dependencies {

}
18 changes: 18 additions & 0 deletions core/build.gradle.kts
@@ -0,0 +1,18 @@
plugins {
`java-library`
}

repositories {
mavenCentral()
maven("https://repo.papermc.io/repository/maven-public/")
maven("https://maven.fabricmc.net/")
}

dependencies {
compileOnly("io.papermc.paper:paper-api:1.20.4-R0.1-SNAPSHOT")
implementation("net.fabricmc:mapping-io:0.3.0")
}

java {
toolchain.languageVersion.set(JavaLanguageVersion.of(17))
}
Expand Up @@ -100,15 +100,20 @@ private static String getNmsVersion(Plugin plugin) {
if (i == -1) {
throwUnsupportedVersion(plugin);
}
return packageName.substring(i + 1);
String packageLastPart = packageName.substring(i + 1);
if (packageLastPart.startsWith("v1_")) {
return packageLastPart;
}
String minecraftVersion = Bukkit.getServer().getMinecraftVersion();
return "paper" + minecraftVersion.replace('.', '_');
}

private static void throwUnsupportedVersion(Plugin plugin) {
throwUnsupportedVersion(plugin, null);
}

private static void throwUnsupportedVersion(Plugin plugin, Exception ex) {
String msg = "Unsupported CraftBukkit version: " + plugin.getServer().getBukkitVersion();
String msg = "Unsupported CraftBukkit version: " + plugin.getServer().getBukkitVersion() + " (" + getNmsVersion(plugin) + ")";
plugin.getLogger().severe(msg);
throw new UnsupportedOperationException(msg, ex);
}
Expand Down
Binary file added gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
7 changes: 7 additions & 0 deletions gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

0 comments on commit c1553a9

Please sign in to comment.