Compare commits

...
Author SHA1 Message Date
Lulu13022002 be002f8051 remove version hint, tweaks bootstrap 2025-08-04 21:29:00 +02:00
Lulu13022002 4369ed5329 remove paper-api dependency
Remove the needs to compile paper-api while running rewriters.
Allow to rewrite test source set for implementation (rewriteImplTest).
Some other changes:
- item type generics is now supported
- generate CraftItemMetas#getItemMetaData
- registry test data are now generated to generalize registry handling
- generate Pose and Attribute (trial)
- print removed fields from Tag while updating the game
2025-07-30 18:50:07 +02:00
405 changed files with 5696 additions and 3054 deletions

No files matched your search

-12
View File
@@ -233,15 +233,3 @@ val scanJarForBadCalls by tasks.registering(io.papermc.paperweight.tasks.ScanJar
tasks.check {
dependsOn(scanJarForBadCalls)
}
if (providers.gradleProperty("updatingMinecraft").getOrElse("false").toBoolean()) {
val scanJarForOldGeneratedCode by tasks.registering(io.papermc.paperweight.tasks.ScanJarForOldGeneratedCode::class) {
mcVersion.set(providers.gradleProperty("mcVersion"))
annotation.set("Lio/papermc/paper/generated/GeneratedFrom;")
jarToScan.set(tasks.jar.flatMap { it.archiveFile })
classpath.from(configurations.compileClasspath)
}
tasks.check {
dependsOn(scanJarForOldGeneratedCode)
}
}
@@ -1,8 +1,8 @@
package com.destroystokyo.paper.entity.ai;
import com.destroystokyo.paper.entity.RangedEntity;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.entity.SchoolableFish;
import io.papermc.paper.generated.GeneratedFrom;
import org.bukkit.NamespacedKey;
import org.bukkit.entity.AbstractHorse;
import org.bukkit.entity.AbstractSkeleton;
@@ -68,7 +68,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public interface VanillaGoal<T extends Mob> extends Goal<T> {
GoalKey<AbstractHorse> HORSE_RANDOM_STAND = create("horse_random_stand", AbstractHorse.class);
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.TypedKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class AttributeKeys {
/**
* {@code minecraft:armor}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.TypedKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class BannerPatternKeys {
/**
* {@code minecraft:base}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.TypedKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class BiomeKeys {
/**
* {@code minecraft:badlands}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.TypedKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class BlockTypeKeys {
/**
* {@code minecraft:acacia_button}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.TypedKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class CatVariantKeys {
/**
* {@code minecraft:all_black}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.TypedKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class ChickenVariantKeys {
/**
* {@code minecraft:cold}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.TypedKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class CowVariantKeys {
/**
* {@code minecraft:cold}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.TypedKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class DamageTypeKeys {
/**
* {@code minecraft:arrow}
@@ -2,8 +2,8 @@ package io.papermc.paper.registry.keys;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.datacomponent.DataComponentType;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.TypedKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class DataComponentTypeKeys {
/**
* {@code minecraft:attribute_modifiers}
@@ -2,8 +2,8 @@ package io.papermc.paper.registry.keys;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.dialog.Dialog;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.TypedKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class DialogKeys {
/**
* {@code minecraft:custom_options}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.TypedKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class EnchantmentKeys {
/**
* {@code minecraft:aqua_affinity}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.TypedKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class FluidKeys {
/**
* {@code minecraft:empty}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.TypedKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class FrogVariantKeys {
/**
* {@code minecraft:cold}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.TypedKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class GameEventKeys {
/**
* {@code minecraft:block_activate}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.TypedKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class InstrumentKeys {
/**
* {@code minecraft:admire_goat_horn}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.TypedKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class ItemTypeKeys {
/**
* {@code minecraft:acacia_boat}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.TypedKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class JukeboxSongKeys {
/**
* {@code minecraft:11}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.TypedKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class MapDecorationTypeKeys {
/**
* {@code minecraft:banner_black}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.TypedKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class MenuTypeKeys {
/**
* {@code minecraft:anvil}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.TypedKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class MobEffectKeys {
/**
* {@code minecraft:absorption}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.TypedKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class PaintingVariantKeys {
/**
* {@code minecraft:alban}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.TypedKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class PigVariantKeys {
/**
* {@code minecraft:cold}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.TypedKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class SoundEventKeys {
/**
* {@code minecraft:ambient.basalt_deltas.additions}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.TypedKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class StructureKeys {
/**
* {@code minecraft:ancient_city}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.TypedKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class StructureTypeKeys {
/**
* {@code minecraft:buried_treasure}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.TypedKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class TrimMaterialKeys {
/**
* {@code minecraft:amethyst}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.TypedKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class TrimPatternKeys {
/**
* {@code minecraft:bolt}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.TypedKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class VillagerProfessionKeys {
/**
* {@code minecraft:armorer}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.TypedKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class VillagerTypeKeys {
/**
* {@code minecraft:desert}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.TypedKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class WolfSoundVariantKeys {
/**
* {@code minecraft:angry}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.TypedKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class WolfVariantKeys {
/**
* {@code minecraft:ashen}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys.tags;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.tag.TagKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class BannerPatternTagKeys {
/**
* {@code #minecraft:no_item_required}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys.tags;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.tag.TagKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class BiomeTagKeys {
/**
* {@code #minecraft:allows_surface_slime_spawns}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys.tags;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.tag.TagKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class BlockTypeTagKeys {
/**
* {@code #minecraft:acacia_logs}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys.tags;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.tag.TagKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class DamageTypeTagKeys {
/**
* {@code #minecraft:always_hurts_ender_dragons}
@@ -2,8 +2,8 @@ package io.papermc.paper.registry.keys.tags;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.dialog.Dialog;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.tag.TagKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class DialogTagKeys {
/**
* {@code #minecraft:pause_screen_additions}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys.tags;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.tag.TagKey;
import net.kyori.adventure.key.Key;
@@ -25,7 +25,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class EnchantmentTagKeys {
/**
* {@code #minecraft:curse}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys.tags;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.tag.TagKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class EntityTypeTagKeys {
/**
* {@code #minecraft:aquatic}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys.tags;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.tag.TagKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class FluidTagKeys {
/**
* {@code #minecraft:lava}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys.tags;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.tag.TagKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class GameEventTagKeys {
/**
* {@code #minecraft:allay_can_listen}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys.tags;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.tag.TagKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class InstrumentTagKeys {
/**
* {@code #minecraft:goat_horns}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys.tags;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.tag.TagKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class ItemTypeTagKeys {
/**
* {@code #minecraft:acacia_logs}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys.tags;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.tag.TagKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class PaintingVariantTagKeys {
/**
* {@code #minecraft:placeable}
@@ -2,7 +2,7 @@ package io.papermc.paper.registry.keys.tags;
import static net.kyori.adventure.key.Key.key;
import io.papermc.paper.generated.GeneratedFrom;
import io.papermc.paper.annotation.GeneratedClass;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.tag.TagKey;
import net.kyori.adventure.key.Key;
@@ -23,7 +23,7 @@ import org.jspecify.annotations.NullMarked;
"SpellCheckingInspection"
})
@NullMarked
@GeneratedFrom("1.21.8")
@GeneratedClass
public final class StructureTagKeys {
/**
* {@code #minecraft:cats_spawn_as_black}
@@ -1,4 +1,4 @@
package io.papermc.paper.generated;
package io.papermc.paper.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
@@ -8,14 +8,12 @@ import java.lang.annotation.Target;
import org.jetbrains.annotations.ApiStatus;
/**
* Used to mark classes which are generated from
* a specific version of minecraft.
* Used to mark classes which are generated.
* Any manual changes will be overwritten.
*/
@ApiStatus.Internal
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface GeneratedFrom {
String value();
public @interface GeneratedClass {
}
@@ -0,0 +1,133 @@
Dump of the rewriters that apply to the file: io/papermc/paper/block/property/BlockProperties.java
Configuration:
Indent unit: " " (4 char)
Indent char: ' ' (U+0020)
Name: BlockProperties
Start comment marker: Start generate - BlockProperties
End comment marker: End generate - BlockProperties
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
public static final BooleanBlockProperty ATTACHED = bool("attached");
public static final BooleanBlockProperty BERRIES = bool("berries");
public static final BooleanBlockProperty BLOOM = bool("bloom");
public static final BooleanBlockProperty BOTTOM = bool("bottom");
public static final BooleanBlockProperty CAN_SUMMON = bool("can_summon");
public static final BooleanBlockProperty CHISELED_BOOKSHELF_SLOT_0_OCCUPIED = bool("slot_0_occupied");
public static final BooleanBlockProperty CHISELED_BOOKSHELF_SLOT_1_OCCUPIED = bool("slot_1_occupied");
public static final BooleanBlockProperty CHISELED_BOOKSHELF_SLOT_2_OCCUPIED = bool("slot_2_occupied");
public static final BooleanBlockProperty CHISELED_BOOKSHELF_SLOT_3_OCCUPIED = bool("slot_3_occupied");
public static final BooleanBlockProperty CHISELED_BOOKSHELF_SLOT_4_OCCUPIED = bool("slot_4_occupied");
public static final BooleanBlockProperty CHISELED_BOOKSHELF_SLOT_5_OCCUPIED = bool("slot_5_occupied");
public static final BooleanBlockProperty CONDITIONAL = bool("conditional");
public static final BooleanBlockProperty CRACKED = bool("cracked");
public static final BooleanBlockProperty CRAFTING = bool("crafting");
public static final BooleanBlockProperty DISARMED = bool("disarmed");
public static final BooleanBlockProperty DOWN = bool("down");
public static final BooleanBlockProperty DRAG = bool("drag");
public static final BooleanBlockProperty EAST = bool("east");
public static final BooleanBlockProperty ENABLED = bool("enabled");
public static final BooleanBlockProperty EXTENDED = bool("extended");
public static final BooleanBlockProperty EYE = bool("eye");
public static final BooleanBlockProperty FALLING = bool("falling");
public static final BooleanBlockProperty HANGING = bool("hanging");
public static final BooleanBlockProperty HAS_BOOK = bool("has_book");
public static final BooleanBlockProperty HAS_BOTTLE_0 = bool("has_bottle_0");
public static final BooleanBlockProperty HAS_BOTTLE_1 = bool("has_bottle_1");
public static final BooleanBlockProperty HAS_BOTTLE_2 = bool("has_bottle_2");
public static final BooleanBlockProperty HAS_RECORD = bool("has_record");
public static final BooleanBlockProperty INVERTED = bool("inverted");
public static final BooleanBlockProperty IN_WALL = bool("in_wall");
public static final BooleanBlockProperty LIT = bool("lit");
public static final BooleanBlockProperty LOCKED = bool("locked");
public static final BooleanBlockProperty MAP = bool("map");
public static final BooleanBlockProperty NATURAL = bool("natural");
public static final BooleanBlockProperty NORTH = bool("north");
public static final BooleanBlockProperty OCCUPIED = bool("occupied");
public static final BooleanBlockProperty OMINOUS = bool("ominous");
public static final BooleanBlockProperty OPEN = bool("open");
public static final BooleanBlockProperty PERSISTENT = bool("persistent");
public static final BooleanBlockProperty POWERED = bool("powered");
public static final BooleanBlockProperty SHORT = bool("short");
public static final BooleanBlockProperty SHRIEKING = bool("shrieking");
public static final BooleanBlockProperty SIGNAL_FIRE = bool("signal_fire");
public static final BooleanBlockProperty SNOWY = bool("snowy");
public static final BooleanBlockProperty SOUTH = bool("south");
public static final BooleanBlockProperty TIP = bool("tip");
public static final BooleanBlockProperty TRIGGERED = bool("triggered");
public static final BooleanBlockProperty UNSTABLE = bool("unstable");
public static final BooleanBlockProperty UP = bool("up");
public static final BooleanBlockProperty WATERLOGGED = bool("waterlogged");
public static final BooleanBlockProperty WEST = bool("west");
public static final EnumBlockProperty<org.bukkit.block.data.FaceAttachable.AttachedFace> ATTACH_FACE = enumeration("face", FaceAttachable.AttachedFace.class);
public static final EnumBlockProperty<org.bukkit.Axis> AXIS = enumeration("axis", Axis.class);
public static final EnumBlockProperty<org.bukkit.block.data.type.Bamboo.Leaves> BAMBOO_LEAVES = enumeration("leaves", Bamboo.Leaves.class);
public static final EnumBlockProperty<org.bukkit.block.data.type.Bed.Part> BED_PART = enumeration("part", Bed.Part.class);
public static final EnumBlockProperty<org.bukkit.block.data.type.Bell.Attachment> BELL_ATTACHMENT = enumeration("attachment", Bell.Attachment.class);
public static final EnumBlockProperty<org.bukkit.block.data.type.Chest.Type> CHEST_TYPE = enumeration("type", Chest.Type.class);
public static final EnumBlockProperty<org.bukkit.block.data.type.CreakingHeart.State> CREAKING_HEART_STATE = enumeration("creaking_heart_state", CreakingHeart.State.class);
public static final EnumBlockProperty<org.bukkit.block.data.type.Door.Hinge> DOOR_HINGE = enumeration("hinge", Door.Hinge.class);
public static final EnumBlockProperty<org.bukkit.block.data.Bisected.Half> DOUBLE_BLOCK_HALF = enumeration("half", Bisected.Half.class);
public static final EnumBlockProperty<org.bukkit.block.data.type.PointedDripstone.Thickness> DRIPSTONE_THICKNESS = enumeration("thickness", PointedDripstone.Thickness.class);
public static final EnumBlockProperty<org.bukkit.block.data.type.RedstoneWire.Connection> EAST_REDSTONE = enumeration("east", RedstoneWire.Connection.class);
public static final EnumBlockProperty<org.bukkit.block.data.type.Wall.Height> EAST_WALL = enumeration("east", Wall.Height.class);
public static final EnumBlockProperty<org.bukkit.block.BlockFace> FACING = enumeration("facing", BlockFace.class, org.bukkit.block.BlockFace::isCartesian);
public static final EnumBlockProperty<org.bukkit.block.BlockFace> FACING_HOPPER = enumeration("facing", BlockFace.class, ((Predicate<org.bukkit.block.BlockFace>) org.bukkit.block.BlockFace::isCartesian).and(face -> face != org.bukkit.block.BlockFace.UP));
public static final EnumBlockProperty<org.bukkit.block.data.Bisected.Half> HALF = enumeration("half", Bisected.Half.class);
public static final EnumBlockProperty<org.bukkit.Axis> HORIZONTAL_AXIS = enumeration("axis", Axis.class, org.bukkit.Axis::isHorizontal);
public static final EnumBlockProperty<org.bukkit.block.BlockFace> HORIZONTAL_FACING = enumeration("facing", BlockFace.class, org.bukkit.block.BlockFace::isCardinal);
public static final EnumBlockProperty<org.bukkit.block.data.type.Comparator.Mode> MODE_COMPARATOR = enumeration("mode", Comparator.Mode.class);
public static final EnumBlockProperty<org.bukkit.block.data.type.RedstoneWire.Connection> NORTH_REDSTONE = enumeration("north", RedstoneWire.Connection.class);
public static final EnumBlockProperty<org.bukkit.block.data.type.Wall.Height> NORTH_WALL = enumeration("north", Wall.Height.class);
public static final EnumBlockProperty<org.bukkit.Instrument> NOTEBLOCK_INSTRUMENT = enumeration("instrument", Instrument.class);
public static final EnumBlockProperty<org.bukkit.block.Orientation> ORIENTATION = enumeration("orientation", Orientation.class);
public static final EnumBlockProperty<org.bukkit.block.data.type.TechnicalPiston.Type> PISTON_TYPE = enumeration("type", TechnicalPiston.Type.class);
public static final EnumBlockProperty<org.bukkit.block.data.Rail.Shape> RAIL_SHAPE = enumeration("shape", Rail.Shape.class);
public static final EnumBlockProperty<org.bukkit.block.data.Rail.Shape> RAIL_SHAPE_STRAIGHT = enumeration("shape", Rail.Shape.class, org.bukkit.block.data.Rail.Shape::isStraight);
public static final EnumBlockProperty<org.bukkit.block.data.type.SculkSensor.Phase> SCULK_SENSOR_PHASE = enumeration("sculk_sensor_phase", SculkSensor.Phase.class);
public static final EnumBlockProperty<org.bukkit.block.data.type.Slab.Type> SLAB_TYPE = enumeration("type", Slab.Type.class);
public static final EnumBlockProperty<org.bukkit.block.data.type.RedstoneWire.Connection> SOUTH_REDSTONE = enumeration("south", RedstoneWire.Connection.class);
public static final EnumBlockProperty<org.bukkit.block.data.type.Wall.Height> SOUTH_WALL = enumeration("south", Wall.Height.class);
public static final EnumBlockProperty<org.bukkit.block.data.type.Stairs.Shape> STAIRS_SHAPE = enumeration("shape", Stairs.Shape.class);
public static final EnumBlockProperty<org.bukkit.block.data.type.StructureBlock.Mode> STRUCTUREBLOCK_MODE = enumeration("mode", StructureBlock.Mode.class);
public static final EnumBlockProperty<org.bukkit.block.data.type.TestBlock.Mode> TEST_BLOCK_MODE = enumeration("mode", TestBlock.Mode.class);
public static final EnumBlockProperty<org.bukkit.block.data.type.BigDripleaf.Tilt> TILT = enumeration("tilt", BigDripleaf.Tilt.class);
public static final EnumBlockProperty<org.bukkit.block.data.type.TrialSpawner.State> TRIAL_SPAWNER_STATE = enumeration("trial_spawner_state", TrialSpawner.State.class);
public static final EnumBlockProperty<org.bukkit.block.data.type.Vault.State> VAULT_STATE = enumeration("vault_state", Vault.State.class);
public static final EnumBlockProperty<org.bukkit.block.BlockFace> VERTICAL_DIRECTION = enumeration("vertical_direction", BlockFace.class, face -> face.getModY() != 0);
public static final EnumBlockProperty<org.bukkit.block.data.type.RedstoneWire.Connection> WEST_REDSTONE = enumeration("west", RedstoneWire.Connection.class);
public static final EnumBlockProperty<org.bukkit.block.data.type.Wall.Height> WEST_WALL = enumeration("west", Wall.Height.class);
public static final IntegerBlockProperty AGE_1 = integer("age", 0, 1);
public static final IntegerBlockProperty AGE_15 = integer("age", 0, 15);
public static final IntegerBlockProperty AGE_2 = integer("age", 0, 2);
public static final IntegerBlockProperty AGE_25 = integer("age", 0, 25);
public static final IntegerBlockProperty AGE_3 = integer("age", 0, 3);
public static final IntegerBlockProperty AGE_4 = integer("age", 0, 4);
public static final IntegerBlockProperty AGE_5 = integer("age", 0, 5);
public static final IntegerBlockProperty AGE_7 = integer("age", 0, 7);
public static final IntegerBlockProperty BITES = integer("bites", 0, 6);
public static final IntegerBlockProperty CANDLES = integer("candles", 1, 4);
public static final IntegerBlockProperty DELAY = integer("delay", 1, 4);
public static final IntegerBlockProperty DISTANCE = integer("distance", 1, 7);
public static final IntegerBlockProperty DRIED_GHAST_HYDRATION_LEVELS = integer("hydration", 0, 3);
public static final IntegerBlockProperty DUSTED = integer("dusted", 0, 3);
public static final IntegerBlockProperty EGGS = integer("eggs", 1, 4);
public static final IntegerBlockProperty FLOWER_AMOUNT = integer("flower_amount", 1, 4);
public static final IntegerBlockProperty HATCH = integer("hatch", 0, 2);
public static final IntegerBlockProperty LAYERS = integer("layers", 1, 8);
public static final IntegerBlockProperty LEVEL = integer("level", 0, 15);
public static final IntegerBlockProperty LEVEL_CAULDRON = integer("level", 1, 3);
public static final IntegerBlockProperty LEVEL_COMPOSTER = integer("level", 0, 8);
public static final IntegerBlockProperty LEVEL_FLOWING = integer("level", 1, 8);
public static final IntegerBlockProperty LEVEL_HONEY = integer("honey_level", 0, 5);
public static final IntegerBlockProperty MOISTURE = integer("moisture", 0, 7);
public static final BlockProperty<org.bukkit.Note> NOTE = register(new NoteBlockProperty("note"));
public static final IntegerBlockProperty PICKLES = integer("pickles", 1, 4);
public static final IntegerBlockProperty POWER = integer("power", 0, 15);
public static final IntegerBlockProperty RESPAWN_ANCHOR_CHARGES = integer("charges", 0, 4);
public static final EnumBlockProperty<org.bukkit.block.BlockFace> ROTATION_16 = register(new RotationBlockProperty("rotation"));
public static final IntegerBlockProperty SEGMENT_AMOUNT = integer("segment_amount", 1, 4);
public static final IntegerBlockProperty STABILITY_DISTANCE = integer("distance", 0, 7);
public static final IntegerBlockProperty STAGE = integer("stage", 0, 1);
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
@@ -8,7 +8,6 @@ import org.jetbrains.annotations.ApiStatus;
@ApiStatus.Experimental
public enum ItemUseAnimation {
// Start generate - ItemUseAnimation
// @GeneratedFrom 1.21.8
NONE,
EAT,
DRINK,
@@ -33,7 +33,6 @@ public interface Dialog extends Keyed, DialogLike {
}
// Start generate - Dialog
// @GeneratedFrom 1.21.8
Dialog CUSTOM_OPTIONS = getDialog("custom_options");
Dialog QUICK_ACTIONS = getDialog("quick_actions");
@@ -39,7 +39,6 @@ import static io.papermc.paper.registry.event.RegistryEventProviderImpl.create;
public final class RegistryEvents {
// Start generate - RegistryEvents
// @GeneratedFrom 1.21.8
public static final RegistryEventProvider<GameEvent, GameEventRegistryEntry.Builder> GAME_EVENT = create(RegistryKey.GAME_EVENT);
public static final RegistryEventProvider<DamageType, DamageTypeRegistryEntry.Builder> DAMAGE_TYPE = create(RegistryKey.DAMAGE_TYPE);
public static final RegistryEventProvider<Wolf.Variant, WolfVariantRegistryEntry.Builder> WOLF_VARIANT = create(RegistryKey.WOLF_VARIANT);
@@ -25,7 +25,6 @@ import org.jetbrains.annotations.Nullable;
public interface Art extends OldEnum<Art>, Keyed {
// Start generate - Art
// @GeneratedFrom 1.21.8
Art ALBAN = getArt("alban");
Art AZTEC = getArt("aztec");
@@ -13,7 +13,6 @@ import org.jetbrains.annotations.ApiStatus;
public interface FeatureFlag extends Keyed {
// Start generate - FeatureFlag
// @GeneratedFrom 1.21.8
@ApiStatus.Experimental
FeatureFlag MINECART_IMPROVEMENTS = create("minecart_improvements");
@@ -13,7 +13,6 @@ import org.jetbrains.annotations.NotNull;
public interface Fluid extends OldEnum<Fluid>, Keyed {
// Start generate - Fluid
// @GeneratedFrom 1.21.8
Fluid EMPTY = getFluid("empty");
Fluid FLOWING_LAVA = getFluid("flowing_lava");
@@ -12,7 +12,6 @@ import org.jetbrains.annotations.Nullable;
public abstract class GameEvent implements Keyed {
// Start generate - GameEvent
// @GeneratedFrom 1.21.8
public static final GameEvent BLOCK_ACTIVATE = getEvent("block_activate");
public static final GameEvent BLOCK_ATTACH = getEvent("block_attach");
@@ -11,7 +11,6 @@ import org.jspecify.annotations.NullMarked;
public interface JukeboxSong extends Keyed, Translatable {
// Start generate - JukeboxSong
// @GeneratedFrom 1.21.8
JukeboxSong ELEVEN = get("11");
JukeboxSong THIRTEEN = get("13");
@@ -89,7 +89,6 @@ import org.bukkit.block.data.type.MangrovePropagule;
import org.bukkit.block.data.type.MossyCarpet;
import org.bukkit.block.data.type.NoteBlock;
import org.bukkit.block.data.type.Observer;
import org.bukkit.block.data.type.PinkPetals;
import org.bukkit.block.data.type.Piston;
import org.bukkit.block.data.type.PistonHead;
import org.bukkit.block.data.type.PitcherCrop;
@@ -145,7 +144,6 @@ import org.jetbrains.annotations.Nullable;
public enum Material implements Keyed, Translatable, net.kyori.adventure.translation.Translatable { // Paper
//<editor-fold desc="Materials" defaultstate="collapsed">
// Start generate - Items
// @GeneratedFrom 1.21.8
ACACIA_BOAT(-1, 1),
ACACIA_CHEST_BOAT(-1, 1),
AIR(-1),
@@ -612,7 +610,6 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
ZOMBIFIED_PIGLIN_SPAWN_EGG(-1),
// End generate - Items
// Start generate - Blocks
// @GeneratedFrom 1.21.8
ACACIA_BUTTON(-1, Switch.class),
ACACIA_DOOR(-1, Door.class),
ACACIA_FENCE(-1, Fence.class),
@@ -29,7 +29,6 @@ public abstract class MusicInstrument implements Keyed, net.kyori.adventure.tran
}
// Start generate - MusicInstrument
// @GeneratedFrom 1.21.8
public static final MusicInstrument ADMIRE_GOAT_HORN = getInstrument("admire_goat_horn");
public static final MusicInstrument CALL_GOAT_HORN = getInstrument("call_goat_horn");
@@ -24,7 +24,6 @@ import org.jetbrains.annotations.NotNull;
public interface Sound extends OldEnum<Sound>, Keyed, net.kyori.adventure.sound.Sound.Type { // Paper - implement Sound.Type
// Start generate - Sound
// @GeneratedFrom 1.21.8
Sound AMBIENT_BASALT_DELTAS_ADDITIONS = getSound("ambient.basalt_deltas.additions");
Sound AMBIENT_BASALT_DELTAS_LOOP = getSound("ambient.basalt_deltas.loop");
@@ -10,7 +10,6 @@ import org.jspecify.annotations.NullMarked;
public enum SoundCategory implements Sound.Source.Provider {
// Start generate - SoundCategory
// @GeneratedFrom 1.21.8
MASTER,
MUSIC,
RECORDS,
@@ -8,7 +8,6 @@ import org.jetbrains.annotations.NotNull;
*/
public enum Statistic implements Keyed {
// Start generate - StatisticCustom
// @GeneratedFrom 1.21.8
ANIMALS_BRED,
AVIATE_ONE_CM,
BELL_RING,
@@ -87,7 +86,6 @@ public enum Statistic implements Keyed {
WALK_UNDER_WATER_ONE_CM,
// End generate - StatisticCustom
// Start generate - StatisticType
// @GeneratedFrom 1.21.8
BREAK_ITEM(Type.ITEM),
CRAFT_ITEM(Type.ITEM),
DROP(Type.ITEM),
+5 -10
View File
@@ -19,10 +19,13 @@ import org.jetbrains.annotations.NotNull;
*/
public interface Tag<T extends Keyed> extends Keyed {
// Start generate - Tag
// @GeneratedFrom 1.21.8
String REGISTRY_BLOCKS = "blocks";
String REGISTRY_ITEMS = "items";
String REGISTRY_FLUIDS = "fluids";
String REGISTRY_ENTITY_TYPES = "entity_types";
String REGISTRY_GAME_EVENTS = "game_events";
// Start generate - Tag
Tag<Material> ACACIA_LOGS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("acacia_logs"), Material.class);
Tag<Material> AIR = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("air"), Material.class);
@@ -411,8 +414,6 @@ public interface Tag<T extends Keyed> extends Keyed {
Tag<Material> WOOL_CARPETS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("wool_carpets"), Material.class);
String REGISTRY_ITEMS = "items";
Tag<Material> ITEMS_ACACIA_LOGS = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("acacia_logs"), Material.class);
Tag<Material> ITEMS_ANVIL = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("anvil"), Material.class);
@@ -771,14 +772,10 @@ public interface Tag<T extends Keyed> extends Keyed {
Tag<Material> ITEMS_WOOL_CARPETS = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("wool_carpets"), Material.class);
String REGISTRY_FLUIDS = "fluids";
Tag<Fluid> FLUIDS_LAVA = Bukkit.getTag(REGISTRY_FLUIDS, NamespacedKey.minecraft("lava"), Fluid.class);
Tag<Fluid> FLUIDS_WATER = Bukkit.getTag(REGISTRY_FLUIDS, NamespacedKey.minecraft("water"), Fluid.class);
String REGISTRY_ENTITY_TYPES = "entity_types";
Tag<EntityType> ENTITY_TYPES_AQUATIC = Bukkit.getTag(REGISTRY_ENTITY_TYPES, NamespacedKey.minecraft("aquatic"), EntityType.class);
Tag<EntityType> ENTITY_TYPES_ARROWS = Bukkit.getTag(REGISTRY_ENTITY_TYPES, NamespacedKey.minecraft("arrows"), EntityType.class);
@@ -857,8 +854,6 @@ public interface Tag<T extends Keyed> extends Keyed {
Tag<EntityType> ENTITY_TYPES_ZOMBIES = Bukkit.getTag(REGISTRY_ENTITY_TYPES, NamespacedKey.minecraft("zombies"), EntityType.class);
String REGISTRY_GAME_EVENTS = "game_events";
Tag<GameEvent> GAME_EVENT_ALLAY_CAN_LISTEN = Bukkit.getTag(REGISTRY_GAME_EVENTS, NamespacedKey.minecraft("allay_can_listen"), GameEvent.class);
Tag<GameEvent> GAME_EVENT_IGNORE_VIBRATIONS_SNEAKING = Bukkit.getTag(REGISTRY_GAME_EVENTS, NamespacedKey.minecraft("ignore_vibrations_sneaking"), GameEvent.class);
@@ -17,147 +17,183 @@ import org.jetbrains.annotations.NotNull;
*/
public interface Attribute extends OldEnum<Attribute>, Keyed, Translatable, net.kyori.adventure.translation.Translatable { // Paper - Adventure translations
/**
* Maximum health of an Entity.
*/
Attribute MAX_HEALTH = getAttribute("max_health");
/**
* Range at which an Entity will follow others.
*/
Attribute FOLLOW_RANGE = getAttribute("follow_range");
/**
* Resistance of an Entity to knockback.
*/
Attribute KNOCKBACK_RESISTANCE = getAttribute("knockback_resistance");
/**
* Movement speed of an Entity.
*/
Attribute MOVEMENT_SPEED = getAttribute("movement_speed");
/**
* Flying speed of an Entity.
*/
Attribute FLYING_SPEED = getAttribute("flying_speed");
/**
* Attack damage of an Entity.
*/
Attribute ATTACK_DAMAGE = getAttribute("attack_damage");
/**
* Attack knockback of an Entity.
*/
Attribute ATTACK_KNOCKBACK = getAttribute("attack_knockback");
/**
* Attack speed of an Entity.
*/
Attribute ATTACK_SPEED = getAttribute("attack_speed");
// Start generate - Attribute
/**
* Armor bonus of an Entity.
*/
Attribute ARMOR = getAttribute("armor");
/**
* Armor durability bonus of an Entity.
*/
Attribute ARMOR_TOUGHNESS = getAttribute("armor_toughness");
/**
* The fall damage multiplier of an Entity.
* Attack damage of an Entity.
*/
Attribute FALL_DAMAGE_MULTIPLIER = getAttribute("fall_damage_multiplier");
Attribute ATTACK_DAMAGE = getAttribute("attack_damage");
/**
* Luck bonus of an Entity.
* Attack knockback of an Entity.
*/
Attribute LUCK = getAttribute("luck");
Attribute ATTACK_KNOCKBACK = getAttribute("attack_knockback");
/**
* Maximum absorption of an Entity.
* Attack speed of an Entity.
*/
Attribute MAX_ABSORPTION = getAttribute("max_absorption");
/**
* The distance which an Entity can fall without damage.
*/
Attribute SAFE_FALL_DISTANCE = getAttribute("safe_fall_distance");
/**
* The relative scale of an Entity.
*/
Attribute SCALE = getAttribute("scale");
/**
* The height which an Entity can walk over.
*/
Attribute STEP_HEIGHT = getAttribute("step_height");
/**
* The gravity applied to an Entity.
*/
Attribute GRAVITY = getAttribute("gravity");
/**
* Strength with which an Entity will jump.
*/
Attribute JUMP_STRENGTH = getAttribute("jump_strength");
/**
* How long an entity remains burning after ignition.
*/
Attribute BURNING_TIME = getAttribute("burning_time");
/**
* The camera distance of a player to their own entity.
*/
Attribute CAMERA_DISTANCE = getAttribute("camera_distance");
/**
* Resistance to knockback from explosions.
*/
Attribute EXPLOSION_KNOCKBACK_RESISTANCE = getAttribute("explosion_knockback_resistance");
/**
* Movement speed through difficult terrain.
*/
Attribute MOVEMENT_EFFICIENCY = getAttribute("movement_efficiency");
/**
* Oxygen use underwater.
*/
Attribute OXYGEN_BONUS = getAttribute("oxygen_bonus");
/**
* Movement speed through water.
*/
Attribute WATER_MOVEMENT_EFFICIENCY = getAttribute("water_movement_efficiency");
/**
* Range at which mobs will be tempted by items.
*/
Attribute TEMPT_RANGE = getAttribute("tempt_range");
/**
* The block reach distance of a Player.
*/
Attribute BLOCK_INTERACTION_RANGE = getAttribute("block_interaction_range");
/**
* The entity reach distance of a Player.
*/
Attribute ENTITY_INTERACTION_RANGE = getAttribute("entity_interaction_range");
Attribute ATTACK_SPEED = getAttribute("attack_speed");
/**
* Block break speed of a Player.
*/
Attribute BLOCK_BREAK_SPEED = getAttribute("block_break_speed");
/**
* The block reach distance of a Player.
*/
Attribute BLOCK_INTERACTION_RANGE = getAttribute("block_interaction_range");
/**
* How long an entity remains burning after ignition.
*/
Attribute BURNING_TIME = getAttribute("burning_time");
/**
* The camera distance of a player to their own entity.
*/
Attribute CAMERA_DISTANCE = getAttribute("camera_distance");
/**
* The entity reach distance of a Player.
*/
Attribute ENTITY_INTERACTION_RANGE = getAttribute("entity_interaction_range");
/**
* Resistance to knockback from explosions.
*/
Attribute EXPLOSION_KNOCKBACK_RESISTANCE = getAttribute("explosion_knockback_resistance");
/**
* The fall damage multiplier of an Entity.
*/
Attribute FALL_DAMAGE_MULTIPLIER = getAttribute("fall_damage_multiplier");
/**
* Flying speed of an Entity.
*/
Attribute FLYING_SPEED = getAttribute("flying_speed");
/**
* Range at which an Entity will follow others.
*/
Attribute FOLLOW_RANGE = getAttribute("follow_range");
/**
* The gravity applied to an Entity.
*/
Attribute GRAVITY = getAttribute("gravity");
/**
* Strength with which an Entity will jump.
*/
Attribute JUMP_STRENGTH = getAttribute("jump_strength");
/**
* Resistance of an Entity to knockback.
*/
Attribute KNOCKBACK_RESISTANCE = getAttribute("knockback_resistance");
/**
* Luck bonus of an Entity.
*/
Attribute LUCK = getAttribute("luck");
/**
* Maximum absorption of an Entity.
*/
Attribute MAX_ABSORPTION = getAttribute("max_absorption");
/**
* Maximum health of an Entity.
*/
Attribute MAX_HEALTH = getAttribute("max_health");
/**
* Mining speed for correct tools.
*/
Attribute MINING_EFFICIENCY = getAttribute("mining_efficiency");
/**
* Movement speed through difficult terrain.
*/
Attribute MOVEMENT_EFFICIENCY = getAttribute("movement_efficiency");
/**
* Movement speed of an Entity.
*/
Attribute MOVEMENT_SPEED = getAttribute("movement_speed");
/**
* Oxygen use underwater.
*/
Attribute OXYGEN_BONUS = getAttribute("oxygen_bonus");
/**
* The distance which an Entity can fall without damage.
*/
Attribute SAFE_FALL_DISTANCE = getAttribute("safe_fall_distance");
/**
* The relative scale of an Entity.
*/
Attribute SCALE = getAttribute("scale");
/**
* Sneaking speed.
*/
Attribute SNEAKING_SPEED = getAttribute("sneaking_speed");
/**
* Underwater mining speed.
*/
Attribute SUBMERGED_MINING_SPEED = getAttribute("submerged_mining_speed");
/**
* Sweeping damage.
*/
Attribute SWEEPING_DAMAGE_RATIO = getAttribute("sweeping_damage_ratio");
/**
* Chance of a zombie to spawn reinforcements.
*/
Attribute SPAWN_REINFORCEMENTS = getAttribute("spawn_reinforcements");
/**
* Attribute controlling the range an entity transmits itself as a waypoint.
* The height which an Entity can walk over.
*/
Attribute WAYPOINT_TRANSMIT_RANGE = getAttribute("waypoint_transmit_range");
Attribute STEP_HEIGHT = getAttribute("step_height");
/**
* Underwater mining speed.
*/
Attribute SUBMERGED_MINING_SPEED = getAttribute("submerged_mining_speed");
/**
* Sweeping damage.
*/
Attribute SWEEPING_DAMAGE_RATIO = getAttribute("sweeping_damage_ratio");
/**
* Range at which mobs will be tempted by items.
*/
Attribute TEMPT_RANGE = getAttribute("tempt_range");
/**
* Movement speed through water.
*/
Attribute WATER_MOVEMENT_EFFICIENCY = getAttribute("water_movement_efficiency");
/**
* Attribute controlling the range an entity receives other waypoints from.
*/
Attribute WAYPOINT_RECEIVE_RANGE = getAttribute("waypoint_receive_range");
/**
* Attribute controlling the range an entity transmits itself as a waypoint.
*/
Attribute WAYPOINT_TRANSMIT_RANGE = getAttribute("waypoint_transmit_range");
// End generate - Attribute
@NotNull
private static Attribute getAttribute(@NotNull String key) {
return Registry.ATTRIBUTE.getOrThrow(NamespacedKey.minecraft(key));
@@ -25,7 +25,6 @@ import org.jetbrains.annotations.NotNull;
public interface Biome extends OldEnum<Biome>, Keyed, net.kyori.adventure.translation.Translatable { // Paper - Adventure translations
// Start generate - Biome
// @GeneratedFrom 1.21.8
Biome BADLANDS = getBiome("badlands");
Biome BAMBOO_JUNGLE = getBiome("bamboo_jungle");
@@ -190,7 +190,6 @@ public interface BlockType extends Keyed, Translatable, net.kyori.adventure.tran
//<editor-fold desc="BlockTypes" defaultstate="collapsed">
// Start generate - BlockType
// @GeneratedFrom 1.21.8
BlockType.Typed<Switch> ACACIA_BUTTON = getBlockType("acacia_button");
BlockType.Typed<Door> ACACIA_DOOR = getBlockType("acacia_door");
@@ -16,7 +16,6 @@ import org.jetbrains.annotations.Nullable;
public interface PatternType extends OldEnum<PatternType>, Keyed {
// Start generate - PatternType
// @GeneratedFrom 1.21.8
PatternType BASE = getType("base");
PatternType BORDER = getType("border");
@@ -19,7 +19,6 @@ import org.jetbrains.annotations.NotNull;
public interface DamageType extends Keyed, Translatable {
// Start generate - DamageType
// @GeneratedFrom 1.21.8
DamageType ARROW = getDamageType("arrow");
DamageType BAD_RESPAWN_POINT = getDamageType("bad_respawn_point");
@@ -30,7 +30,6 @@ public interface Armadillo extends Animals {
*/
enum State {
// Start generate - ArmadilloState
// @GeneratedFrom 1.21.8
IDLE,
ROLLING,
SCARED,
@@ -177,7 +177,6 @@ public interface Boat extends Vehicle, io.papermc.paper.entity.Leashable { // Pa
NOT_IN_WORLD,
// Start generate - BoatStatus
// @GeneratedFrom 1.21.8
IN_WATER,
UNDER_WATER,
UNDER_FLOWING_WATER,
@@ -55,7 +55,6 @@ public interface Cat extends Tameable, Sittable, io.papermc.paper.entity.CollarC
interface Type extends OldEnum<Type>, Keyed {
// Start generate - CatType
// @GeneratedFrom 1.21.8
Type ALL_BLACK = getType("all_black");
Type BLACK = getType("black");
@@ -60,7 +60,6 @@ public interface Chicken extends Animals {
interface Variant extends Keyed {
// Start generate - ChickenVariant
// @GeneratedFrom 1.21.8
Variant COLD = getVariant("cold");
Variant TEMPERATE = getVariant("temperate");
@@ -32,7 +32,6 @@ public interface Cow extends AbstractCow {
interface Variant extends Keyed {
// Start generate - CowVariant
// @GeneratedFrom 1.21.8
Variant COLD = getVariant("cold");
Variant TEMPERATE = getVariant("temperate");
@@ -37,8 +37,6 @@ import org.bukkit.entity.minecart.PoweredMinecart;
import org.bukkit.entity.minecart.RideableMinecart;
import org.bukkit.entity.minecart.SpawnerMinecart;
import org.bukkit.entity.minecart.StorageMinecart;
import org.bukkit.inventory.ItemStack;
import org.bukkit.potion.PotionEffectType;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -46,7 +44,6 @@ import org.jetbrains.annotations.Nullable;
public enum EntityType implements Keyed, Translatable, net.kyori.adventure.translation.Translatable, io.papermc.paper.world.flag.FeatureDependant { // Paper - translatable
// Start generate - EntityType
// @GeneratedFrom 1.21.8
ACACIA_BOAT("acacia_boat", AcaciaBoat.class, -1),
ACACIA_CHEST_BOAT("acacia_chest_boat", AcaciaChestBoat.class, -1),
ALLAY("allay", Allay.class, -1),
@@ -90,7 +90,6 @@ public interface Fox extends Animals, Sittable {
*/
public enum Type {
// Start generate - FoxType
// @GeneratedFrom 1.21.8
RED,
SNOW;
// End generate - FoxType
@@ -53,7 +53,6 @@ public interface Frog extends Animals {
interface Variant extends OldEnum<Variant>, Keyed {
// Start generate - FrogVariant
// @GeneratedFrom 1.21.8
Variant COLD = getVariant("cold");
Variant TEMPERATE = getVariant("temperate");
@@ -186,7 +186,6 @@ public interface Panda extends Animals, Sittable {
public enum Gene {
// Start generate - PandaGene
// @GeneratedFrom 1.21.8
NORMAL(false),
LAZY(false),
WORRIED(false),
@@ -32,7 +32,6 @@ public interface Pig extends Steerable, Vehicle {
interface Variant extends Keyed {
// Start generate - PigVariant
// @GeneratedFrom 1.21.8
Variant COLD = getVariant("cold");
Variant TEMPERATE = getVariant("temperate");
@@ -28,7 +28,6 @@ public interface Salmon extends io.papermc.paper.entity.SchoolableFish { // Pape
public enum Variant {
// Start generate - SalmonVariant
// @GeneratedFrom 1.21.8
SMALL,
MEDIUM,
LARGE;
@@ -75,7 +75,6 @@ public interface Sniffer extends Animals {
*/
public enum State {
// Start generate - SnifferState
// @GeneratedFrom 1.21.8
IDLING,
FEELING_HAPPY,
SCENTING,
@@ -61,7 +61,6 @@ public interface TropicalFish extends io.papermc.paper.entity.SchoolableFish { /
public static enum Pattern {
// Start generate - TropicalFishPattern
// @GeneratedFrom 1.21.8
KOB,
SUNSTREAK,
SNOOPER,
@@ -172,7 +172,6 @@ public interface Villager extends AbstractVillager {
interface Type extends OldEnum<Type>, Keyed {
// Start generate - VillagerType
// @GeneratedFrom 1.21.8
Type DESERT = getType("desert");
Type JUNGLE = getType("jungle");
@@ -224,7 +223,6 @@ public interface Villager extends AbstractVillager {
interface Profession extends OldEnum<Profession>, Keyed, net.kyori.adventure.translation.Translatable {
// Start generate - VillagerProfession
// @GeneratedFrom 1.21.8
/**
* Armorer profession. Wears a black apron. Armorers primarily trade for
* iron armor, chainmail armor, and sometimes diamond armor.
@@ -142,7 +142,6 @@ public interface Wolf extends Tameable, Sittable, io.papermc.paper.entity.Collar
interface SoundVariant extends Keyed {
// Start generate - WolfSoundVariant
// @GeneratedFrom 1.21.8
SoundVariant ANGRY = getSoundVariant("angry");
SoundVariant BIG = getSoundVariant("big");
@@ -47,7 +47,6 @@ public final class MemoryKey<T> implements Keyed {
private static final Map<NamespacedKey, MemoryKey<?>> MEMORY_KEYS = new HashMap<>();
// Start generate - MemoryKey
// @GeneratedFrom 1.21.8
public static final MemoryKey<Boolean> ADMIRING_DISABLED = new MemoryKey<>(NamespacedKey.minecraft("admiring_disabled"), Boolean.class);
public static final MemoryKey<Boolean> ADMIRING_ITEM = new MemoryKey<>(NamespacedKey.minecraft("admiring_item"), Boolean.class);
@@ -17,7 +17,6 @@ import org.jetbrains.annotations.NotNull;
public abstract class Structure implements Keyed {
// Start generate - Structure
// @GeneratedFrom 1.21.8
public static final Structure ANCIENT_CITY = getStructure("ancient_city");
public static final Structure BASTION_REMNANT = getStructure("bastion_remnant");
@@ -16,7 +16,6 @@ import org.jetbrains.annotations.NotNull;
public abstract class StructureType implements Keyed {
// Start generate - StructureType
// @GeneratedFrom 1.21.8
public static final StructureType BURIED_TREASURE = getStructureType("buried_treasure");
public static final StructureType DESERT_PYRAMID = getStructureType("desert_pyramid");
@@ -10,7 +10,6 @@ import net.kyori.adventure.text.format.TextColor;
public enum ItemRarity {
// Start generate - ItemRarity
// @GeneratedFrom 1.21.8
COMMON(NamedTextColor.WHITE),
UNCOMMON(NamedTextColor.YELLOW),
RARE(NamedTextColor.AQUA),
@@ -1,5 +1,6 @@
package org.bukkit.inventory;
import com.destroystokyo.paper.inventory.meta.ArmorStandMeta;
import com.google.common.collect.Multimap;
import io.papermc.paper.datacomponent.DataComponentType;
import java.util.Set;
@@ -94,7 +95,6 @@ public interface ItemType extends Keyed, Translatable, net.kyori.adventure.trans
//<editor-fold desc="ItemTypes" defaultstate="collapsed">
// Start generate - ItemType
// @GeneratedFrom 1.21.8
ItemType.Typed<ItemMeta> ACACIA_BOAT = getItemType("acacia_boat");
ItemType.Typed<ItemMeta> ACACIA_BUTTON = getItemType("acacia_button");
@@ -165,7 +165,7 @@ public interface ItemType extends Keyed, Translatable, net.kyori.adventure.trans
ItemType.Typed<SpawnEggMeta> ARMADILLO_SPAWN_EGG = getItemType("armadillo_spawn_egg");
ItemType.Typed<com.destroystokyo.paper.inventory.meta.ArmorStandMeta> ARMOR_STAND = getItemType("armor_stand");
ItemType.Typed<ArmorStandMeta> ARMOR_STAND = getItemType("armor_stand");
ItemType.Typed<ItemMeta> ARMS_UP_POTTERY_SHERD = getItemType("arms_up_pottery_sherd");
@@ -15,7 +15,6 @@ import org.jetbrains.annotations.NotNull;
public interface TrimMaterial extends Keyed, Translatable {
// Start generate - TrimMaterial
// @GeneratedFrom 1.21.8
TrimMaterial AMETHYST = getTrimMaterial("amethyst");
TrimMaterial COPPER = getTrimMaterial("copper");
@@ -15,7 +15,6 @@ import org.jetbrains.annotations.NotNull;
public interface TrimPattern extends Keyed, Translatable {
// Start generate - TrimPattern
// @GeneratedFrom 1.21.8
TrimPattern BOLT = getTrimPattern("bolt");
TrimPattern COAST = getTrimPattern("coast");
@@ -6,7 +6,6 @@ package org.bukkit.inventory.recipe;
public enum CookingBookCategory {
// Start generate - CookingBookCategory
// @GeneratedFrom 1.21.8
FOOD,
BLOCKS,
MISC;
@@ -6,7 +6,6 @@ package org.bukkit.inventory.recipe;
public enum CraftingBookCategory {
// Start generate - CraftingBookCategory
// @GeneratedFrom 1.21.8
BUILDING,
REDSTONE,
EQUIPMENT,
@@ -289,7 +289,6 @@ public final class MapCursor {
public interface Type extends OldEnum<Type>, Keyed {
// Start generate - MapCursorType
// @GeneratedFrom 1.21.8
Type BANNER_BLACK = getType("banner_black");
Type BANNER_BLUE = getType("banner_blue");
@@ -37,7 +37,6 @@ public final class MapPalette {
@NotNull
static final Color[] colors = {
// Start generate - MapPalette#colors
// @GeneratedFrom 1.21.8
new Color(0x00000000, true),
new Color(0x00000000, true),
new Color(0x00000000, true),
@@ -16,7 +16,6 @@ import org.jetbrains.annotations.Nullable;
*/
public enum PotionType implements Keyed, io.papermc.paper.world.flag.FeatureDependant { // Paper - feature flag API
// Start generate - PotionType
// @GeneratedFrom 1.21.8
AWKWARD("awkward"),
FIRE_RESISTANCE("fire_resistance"),
HARMING("harming"),
@@ -8,7 +8,6 @@ import org.jspecify.annotations.NullMarked;
@NullMarked
public enum DisplaySlot {
// Start generate - DisplaySlot
// @GeneratedFrom 1.21.8
PLAYER_LIST("list"),
SIDEBAR("sidebar"),
BELOW_NAME("below_name"),
@@ -14,7 +14,6 @@ import org.jetbrains.annotations.Nullable;
public final class DamageTypeTags {
// Start generate - DamageTypeTags
// @GeneratedFrom 1.21.8
public static final Tag<DamageType> ALWAYS_HURTS_ENDER_DRAGONS = getTag("always_hurts_ender_dragons");
public static final Tag<DamageType> ALWAYS_KILLS_ARMOR_STANDS = getTag("always_kills_armor_stands");
+3
View File
@@ -1,3 +1,6 @@
[*.java]
ij_java_generate_final_locals = false
ij_java_generate_final_parameters = false
[*.json]
indent_size = 2
+45 -51
View File
@@ -6,12 +6,7 @@ plugins {
}
paperweight {
atFile.set(layout.projectDirectory.file("wideners.at"))
}
val serverRuntimeClasspath by configurations.registering { // resolvable?
isCanBeConsumed = false
isCanBeResolved = true
atFile = layout.projectDirectory.file("wideners.at")
}
dependencies {
@@ -19,54 +14,58 @@ dependencies {
implementation(project(":paper-server", "macheMinecraftLibraries"))
implementation("com.squareup:javapoet:1.13.0")
implementation(project(":paper-api"))
implementation("io.papermc.typewriter:typewriter:1.0.1") {
isTransitive = false // paper-api already have everything
}
implementation("io.papermc.typewriter:typewriter:1.0.2-20250601.125803-3")
implementation("info.picocli:picocli:4.7.6")
implementation("io.github.classgraph:classgraph:4.8.47")
implementation("org.jetbrains:annotations:26.0.1")
testImplementation("org.junit.jupiter:junit-jupiter:5.10.2")
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
implementation("io.github.classgraph:classgraph:4.8.179")
implementation("org.jetbrains:annotations:26.0.2")
implementation("org.jspecify:jspecify:1.0.0")
serverRuntimeClasspath(project(":paper-server", "runtimeConfiguration"))
testImplementation("org.junit.jupiter:junit-jupiter:5.12.2")
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
}
val gameVersion = providers.gradleProperty("mcVersion")
val rewriteApi = tasks.registerGenerationTask("rewriteApi", true, "api", {
bootstrapTags = true
sourceSet = rootProject.layout.projectDirectory.dir("paper-api")
sourceSet = "paper-api/src/main/java"
}) {
description = "Rewrite existing API classes"
classpath(sourceSets.main.map { it.runtimeClasspath })
}
val rewriteImpl = tasks.registerGenerationTask("rewriteImpl", true, "impl", {
sourceSet = rootProject.layout.projectDirectory.dir("paper-server")
serverClassPath.from(serverRuntimeClasspath)
bootstrapTags = true // needed for CraftItemMetasRewriter, remove once item meta is gone
sourceSet = "paper-server/src/main/java"
}) {
description = "Rewrite existing implementation classes"
classpath(sourceSets.main.map { it.runtimeClasspath })
}
val rewriteImplTest = tasks.registerGenerationTask("rewriteImplTest", true, "impl-test", {
sourceSet = "paper-server/src/test/java"
}) {
description = "Rewrite existing implementation test classes"
classpath(sourceSets.main.map { it.runtimeClasspath })
}
tasks.register("rewrite") {
group = "generation"
description = "Rewrite existing API classes and its implementation"
dependsOn(rewriteApi, rewriteImpl)
dependsOn(rewriteApi, rewriteImpl, rewriteImplTest)
}
val generateApi = tasks.registerGenerationTask("generateApi", false, "api", {
bootstrapTags = true
sourceSet = rootProject.layout.projectDirectory.dir("paper-api")
sourceSet = "paper-api/src/generated/java"
}) {
description = "Generate new API classes"
classpath(sourceSets.main.map { it.runtimeClasspath })
}
val generateImpl = tasks.registerGenerationTask("generateImpl", false, "impl", {
sourceSet = rootProject.layout.projectDirectory.dir("paper-server")
sourceSet = "paper-server/src/generated/java"
}) {
description = "Generate new implementation classes"
classpath(sourceSets.main.map { it.runtimeClasspath })
@@ -78,25 +77,17 @@ tasks.register("generate") {
dependsOn(generateApi, generateImpl)
}
if (providers.gradleProperty("updatingMinecraft").getOrElse("false").toBoolean()) {
val scanOldGeneratedSourceCode by tasks.registering(JavaExec::class) {
group = "verification"
description = "Scan source code to detect outdated generated code"
javaLauncher = javaToolchains.defaultJavaLauncher(project)
mainClass.set("io.papermc.generator.rewriter.utils.ScanOldGeneratedSourceCode")
classpath(sourceSets.main.map { it.runtimeClasspath })
tasks.register<JavaExec>("prepareInputFiles") {
group = "generation"
description = "Prepare input files by sorting them (and updating them if possible)"
javaLauncher = javaToolchains.defaultJavaLauncher(project)
mainClass = "io.papermc.generator.tasks.PrepareInputFiles"
classpath(sourceSets.main.map { it.runtimeClasspath })
val projectDirs = listOf("paper-api", "paper-server").map { rootProject.layout.projectDirectory.dir(it) }
args(projectDirs.map { it.asFile.absolutePath })
val workDirs = projectDirs.map { it.dir("src/main/java") }
workDirs.forEach { inputs.dir(it) }
inputs.property("gameVersion", gameVersion)
outputs.dirs(workDirs)
}
tasks.check {
dependsOn(scanOldGeneratedSourceCode)
}
inputs.property("gameVersion", gameVersion)
val resourceDir = layout.projectDirectory.dir("src/main/resources")
args(resourceDir.asFile.absolutePath)
outputs.dir(resourceDir)
}
fun TaskContainer.registerGenerationTask(
@@ -110,20 +101,19 @@ fun TaskContainer.registerGenerationTask(
dependsOn(project.tasks.test)
javaLauncher = project.javaToolchains.defaultJavaLauncher(project)
inputs.property("gameVersion", gameVersion)
inputs.dir(layout.projectDirectory.dir("src/main/java")).withPathSensitivity(PathSensitivity.RELATIVE)
mainClass.set("io.papermc.generator.Main")
inputs.dir(layout.projectDirectory.dir("src/main/")).withPathSensitivity(PathSensitivity.RELATIVE)
mainClass = "io.papermc.generator.Main"
systemProperty("paper.updatingMinecraft", providers.gradleProperty("updatingMinecraft").getOrElse("false").toBoolean())
val provider = objects.newInstance<GenerationArgumentProvider>()
provider.side = side
provider.rewrite = rewrite
provider.rootDir = rootProject.layout.projectDirectory
if (args != null) {
args(provider)
}
argumentProviders.add(provider)
val targetDir = if (rewrite) "src/main/java" else "src/generated/java"
outputs.dir(provider.sourceSet.dir(targetDir))
// outputs.dir(provider.sourceSet)
block(this)
}
@@ -133,7 +123,10 @@ abstract class GenerationArgumentProvider : CommandLineArgumentProvider {
@get:PathSensitive(PathSensitivity.NONE)
@get:InputDirectory
abstract val sourceSet: DirectoryProperty
abstract val rootDir: DirectoryProperty
@get:Input
abstract val sourceSet: Property<String>
@get:Input
abstract val rewrite: Property<Boolean>
@@ -141,9 +134,6 @@ abstract class GenerationArgumentProvider : CommandLineArgumentProvider {
@get:Input
abstract val side: Property<String>
@get:CompileClasspath
abstract val serverClassPath: ConfigurableFileCollection
@get:Input
@get:Optional
abstract val bootstrapTags: Property<Boolean>
@@ -155,17 +145,18 @@ abstract class GenerationArgumentProvider : CommandLineArgumentProvider {
override fun asArguments(): Iterable<String> {
val args = mutableListOf<String>()
args.add("--sourceset=${sourceSet.get().asFile.absolutePath}")
args.add("--root-dir=${rootDir.get().asFile.absolutePath}")
args.add("--sourceset=${rootDir.get().dir(sourceSet.get()).asFile.absolutePath}")
args.add("--side=${side.get()}")
args.add("--classpath=${serverClassPath.asPath}")
if (rewrite.get()) {
args.add("--rewrite")
}
if (bootstrapTags.get()) {
args.add(("--bootstrap-tags"))
args.add("--bootstrap-tags")
}
return args.toList()
}
}
@@ -173,6 +164,9 @@ abstract class GenerationArgumentProvider : CommandLineArgumentProvider {
tasks.test {
useJUnitPlatform()
}
tasks.compileTestJava {
options.compilerArgs.add("-parameters")
}
group = "io.papermc.paper"
version = "1.0-SNAPSHOT"
@@ -4,6 +4,7 @@ import io.papermc.generator.registry.RegistryBootstrapper;
import io.papermc.generator.types.SourceGenerator;
import io.papermc.generator.types.craftblockdata.CraftBlockDataBootstrapper;
import io.papermc.generator.types.goal.MobGoalGenerator;
import io.papermc.generator.utils.BasePackage;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -15,7 +16,7 @@ public interface Generators {
List<SourceGenerator> API = Collections.unmodifiableList(Util.make(new ArrayList<>(), list -> {
RegistryBootstrapper.bootstrap(list);
list.add(new MobGoalGenerator("VanillaGoal", "com.destroystokyo.paper.entity.ai"));
list.add(new MobGoalGenerator("VanillaGoal", BasePackage.PAPER_LEGACY.name() + ".entity.ai"));
// todo extract fields for registry based api
}));
@@ -11,28 +11,34 @@ import java.nio.file.Path;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.Callable;
import java.util.concurrent.CompletableFuture;
import java.util.function.Consumer;
import java.util.stream.Stream;
import net.minecraft.SharedConstants;
import net.minecraft.Util;
import net.minecraft.commands.Commands;
import net.minecraft.core.HolderLookup;
import net.minecraft.core.LayeredRegistryAccess;
import net.minecraft.core.Registry;
import net.minecraft.core.RegistryAccess;
import net.minecraft.resources.RegistryDataLoader;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.Bootstrap;
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.RegistryLayer;
import net.minecraft.server.ReloadableServerResources;
import net.minecraft.server.packs.PackType;
import net.minecraft.server.packs.repository.Pack;
import net.minecraft.server.packs.repository.PackRepository;
import net.minecraft.server.packs.repository.ServerPacksSource;
import net.minecraft.server.packs.resources.CloseableResourceManager;
import net.minecraft.server.packs.resources.MultiPackResourceManager;
import net.minecraft.tags.TagKey;
import net.minecraft.tags.TagLoader;
import net.minecraft.world.flag.FeatureFlagSet;
import net.minecraft.world.flag.FeatureFlags;
import net.minecraft.world.level.DataPackConfig;
import net.minecraft.world.level.WorldDataConfiguration;
import org.apache.commons.io.file.PathUtils;
import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
import org.slf4j.Logger;
@@ -44,12 +50,12 @@ import picocli.CommandLine;
)
public class Main implements Callable<Integer> {
@CommandLine.Option(names = {"--root-dir"}, required = true)
Path rootDir;
@CommandLine.Option(names = {"--sourceset"}, required = true)
Path sourceSet;
@CommandLine.Option(names = {"-cp", "--classpath"}, split = "[;:]", required = true)
Set<Path> classpath;
@CommandLine.Option(names = {"--rewrite"})
boolean isRewrite;
@@ -61,32 +67,39 @@ public class Main implements Callable<Integer> {
private static final Logger LOGGER = LogUtils.getLogger();
public static @MonotonicNonNull Path ROOT_DIR;
public static RegistryAccess.@MonotonicNonNull Frozen REGISTRY_ACCESS;
public static @MonotonicNonNull Map<TagKey<?>, String> EXPERIMENTAL_TAGS;
public static final boolean IS_UPDATING = Boolean.getBoolean("paper.updatingMinecraft");
public static CompletableFuture<Void> bootStrap(boolean withTags) {
SharedConstants.tryDetectVersion();
Bootstrap.bootStrap();
Bootstrap.validate();
PackRepository resourceRepository = ServerPacksSource.createVanillaTrustedRepository();
resourceRepository.reload();
MultiPackResourceManager resourceManager = new MultiPackResourceManager(PackType.SERVER_DATA, resourceRepository.getAvailablePacks().stream().map(Pack::open).toList());
PackRepository packRepository = ServerPacksSource.createVanillaTrustedRepository();
FeatureFlagSet flags = FeatureFlags.REGISTRY.allFlags();
MinecraftServer.configurePackRepository(packRepository, new WorldDataConfiguration(new DataPackConfig(FeatureFlags.REGISTRY.toNames(flags).stream().map(ResourceLocation::getPath).toList(), List.of()), flags), true, false);
CloseableResourceManager resourceManager = new MultiPackResourceManager(PackType.SERVER_DATA, packRepository.openAllSelected());
LayeredRegistryAccess<RegistryLayer> layers = RegistryLayer.createRegistryAccess();
List<Registry.PendingTags<?>> pendingTags = TagLoader.loadTagsForExistingRegistries(resourceManager, layers.getLayer(RegistryLayer.STATIC));
List<HolderLookup.RegistryLookup<?>> worldGenLayer = TagLoader.buildUpdatedLookups(layers.getAccessForLoading(RegistryLayer.WORLDGEN), pendingTags);
RegistryAccess.Frozen frozenWorldgenRegistries = RegistryDataLoader.load(resourceManager, worldGenLayer, RegistryDataLoader.WORLDGEN_REGISTRIES);
layers = layers.replaceFrom(RegistryLayer.WORLDGEN, frozenWorldgenRegistries);
List<HolderLookup.RegistryLookup<?>> staticAndWorldgenLookups = Stream.concat(worldGenLayer.stream(), frozenWorldgenRegistries.listRegistries()).toList();
RegistryAccess.Frozen dimensionRegistries = RegistryDataLoader.load(resourceManager, staticAndWorldgenLookups, RegistryDataLoader.DIMENSION_REGISTRIES);
layers = layers.replaceFrom(RegistryLayer.DIMENSIONS, dimensionRegistries);
REGISTRY_ACCESS = layers.compositeAccess().freeze();
if (withTags) {
return ReloadableServerResources.loadResources(
resourceManager,
layers,
pendingTags,
FeatureFlags.REGISTRY.allFlags(),
flags,
Commands.CommandSelection.DEDICATED,
Commands.LEVEL_GAMEMASTERS,
Runnable::run,
Util.backgroundExecutor(),
Runnable::run
).whenComplete((result, ex) -> {
if (ex != null) {
@@ -106,9 +119,10 @@ public class Main implements Callable<Integer> {
public Integer call() {
bootStrap(this.tagBootstrap).join();
ROOT_DIR = this.rootDir;
try {
if (this.isRewrite) {
rewrite(this.sourceSet, this.classpath, this.side.equals("api") ? Rewriters.API : Rewriters.SERVER);
rewrite(this.sourceSet, Rewriters.VALUES.get(this.side));
} else {
generate(this.sourceSet, this.side.equals("api") ? Generators.API : Generators.SERVER);
}
@@ -120,22 +134,21 @@ public class Main implements Callable<Integer> {
return 0;
}
private static void rewrite(Path sourceSet, Set<Path> classpath, Consumer<PatternSourceSetRewriter> rewriters) throws IOException {
PatternSourceSetRewriter sourceSetRewriter = new PaperPatternSourceSetRewriter(classpath);
private static void rewrite(Path sourceSet, Consumer<PatternSourceSetRewriter> rewriters) throws IOException {
PatternSourceSetRewriter sourceSetRewriter = new PaperPatternSourceSetRewriter();
rewriters.accept(sourceSetRewriter);
sourceSetRewriter.apply(sourceSet.resolve("src/main/java"));
sourceSetRewriter.apply(sourceSet);
}
private static void generate(Path sourceSet, Collection<SourceGenerator> generators) throws IOException {
Path output = sourceSet.resolve("src/generated/java");
if (Files.exists(output)) {
PathUtils.deleteDirectory(output);
if (Files.exists(sourceSet)) {
PathUtils.deleteDirectory(sourceSet);
}
for (SourceGenerator generator : generators) {
generator.writeToFile(output);
generator.writeToFile(sourceSet);
}
LOGGER.info("Files written to {}", output.toAbsolutePath());
LOGGER.info("Files written to {}", sourceSet.toAbsolutePath());
}
public static void main(String[] args) {
Loaded 100 of 405 files, more files were not shown because too many files have changed in this diff. Show more