Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-11-15 04:20:04 +01:00
generate typed keys and fix test
Dieser Commit ist enthalten in:
Ursprung
8dde35def5
Commit
e0bcc5ee85
@ -0,0 +1,462 @@
|
||||
package io.papermc.paper.registry.keys;
|
||||
|
||||
import static net.kyori.adventure.key.Key.key;
|
||||
|
||||
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;
|
||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
|
||||
/**
|
||||
* Vanilla keys for {@link RegistryKey#DATA_COMPONENT_TYPE}.
|
||||
*
|
||||
* @apiNote The fields provided here are a direct representation of
|
||||
* what is available from the vanilla game source. They may be
|
||||
* changed (including removals) on any Minecraft version
|
||||
* bump, so cross-version compatibility is not provided on the
|
||||
* same level as it is on most of the other API.
|
||||
*/
|
||||
@SuppressWarnings({
|
||||
"unused",
|
||||
"SpellCheckingInspection"
|
||||
})
|
||||
@GeneratedFrom("1.21.3")
|
||||
@ApiStatus.Experimental
|
||||
public final class DataComponentTypeKeys {
|
||||
/**
|
||||
* {@code minecraft:attribute_modifiers}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> ATTRIBUTE_MODIFIERS = create(key("attribute_modifiers"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:banner_patterns}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> BANNER_PATTERNS = create(key("banner_patterns"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:base_color}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> BASE_COLOR = create(key("base_color"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:block_state}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> BLOCK_STATE = create(key("block_state"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:bundle_contents}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> BUNDLE_CONTENTS = create(key("bundle_contents"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:can_break}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> CAN_BREAK = create(key("can_break"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:can_place_on}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> CAN_PLACE_ON = create(key("can_place_on"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:charged_projectiles}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> CHARGED_PROJECTILES = create(key("charged_projectiles"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:consumable}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> CONSUMABLE = create(key("consumable"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:container}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> CONTAINER = create(key("container"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:container_loot}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> CONTAINER_LOOT = create(key("container_loot"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:creative_slot_lock}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> CREATIVE_SLOT_LOCK = create(key("creative_slot_lock"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:custom_model_data}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> CUSTOM_MODEL_DATA = create(key("custom_model_data"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:custom_name}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> CUSTOM_NAME = create(key("custom_name"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:damage}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> DAMAGE = create(key("damage"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:damage_resistant}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> DAMAGE_RESISTANT = create(key("damage_resistant"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:death_protection}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> DEATH_PROTECTION = create(key("death_protection"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:dyed_color}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> DYED_COLOR = create(key("dyed_color"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:enchantable}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> ENCHANTABLE = create(key("enchantable"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:enchantment_glint_override}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> ENCHANTMENT_GLINT_OVERRIDE = create(key("enchantment_glint_override"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:enchantments}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> ENCHANTMENTS = create(key("enchantments"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:equippable}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> EQUIPPABLE = create(key("equippable"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:firework_explosion}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> FIREWORK_EXPLOSION = create(key("firework_explosion"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:fireworks}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> FIREWORKS = create(key("fireworks"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:food}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> FOOD = create(key("food"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:glider}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> GLIDER = create(key("glider"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:hide_additional_tooltip}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> HIDE_ADDITIONAL_TOOLTIP = create(key("hide_additional_tooltip"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:hide_tooltip}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> HIDE_TOOLTIP = create(key("hide_tooltip"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:instrument}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> INSTRUMENT = create(key("instrument"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:intangible_projectile}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> INTANGIBLE_PROJECTILE = create(key("intangible_projectile"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:item_model}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> ITEM_MODEL = create(key("item_model"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:item_name}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> ITEM_NAME = create(key("item_name"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:jukebox_playable}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> JUKEBOX_PLAYABLE = create(key("jukebox_playable"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:lock}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> LOCK = create(key("lock"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:lodestone_tracker}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> LODESTONE_TRACKER = create(key("lodestone_tracker"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:lore}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> LORE = create(key("lore"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:map_color}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> MAP_COLOR = create(key("map_color"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:map_decorations}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> MAP_DECORATIONS = create(key("map_decorations"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:map_id}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> MAP_ID = create(key("map_id"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:map_post_processing}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> MAP_POST_PROCESSING = create(key("map_post_processing"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:max_damage}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> MAX_DAMAGE = create(key("max_damage"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:max_stack_size}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> MAX_STACK_SIZE = create(key("max_stack_size"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:note_block_sound}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> NOTE_BLOCK_SOUND = create(key("note_block_sound"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:ominous_bottle_amplifier}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> OMINOUS_BOTTLE_AMPLIFIER = create(key("ominous_bottle_amplifier"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:pot_decorations}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> POT_DECORATIONS = create(key("pot_decorations"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:potion_contents}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> POTION_CONTENTS = create(key("potion_contents"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:profile}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> PROFILE = create(key("profile"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:rarity}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> RARITY = create(key("rarity"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:recipes}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> RECIPES = create(key("recipes"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:repair_cost}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> REPAIR_COST = create(key("repair_cost"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:repairable}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> REPAIRABLE = create(key("repairable"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:stored_enchantments}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> STORED_ENCHANTMENTS = create(key("stored_enchantments"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:suspicious_stew_effects}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> SUSPICIOUS_STEW_EFFECTS = create(key("suspicious_stew_effects"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:tool}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> TOOL = create(key("tool"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:tooltip_style}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> TOOLTIP_STYLE = create(key("tooltip_style"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:trim}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> TRIM = create(key("trim"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:unbreakable}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> UNBREAKABLE = create(key("unbreakable"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:use_cooldown}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> USE_COOLDOWN = create(key("use_cooldown"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:use_remainder}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> USE_REMAINDER = create(key("use_remainder"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:writable_book_content}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> WRITABLE_BOOK_CONTENT = create(key("writable_book_content"));
|
||||
|
||||
/**
|
||||
* {@code minecraft:written_book_content}
|
||||
*
|
||||
* @apiNote This field is version-dependant and may be removed in future Minecraft versions
|
||||
*/
|
||||
public static final TypedKey<DataComponentType> WRITTEN_BOOK_CONTENT = create(key("written_book_content"));
|
||||
|
||||
private DataComponentTypeKeys() {
|
||||
}
|
||||
|
||||
private static @NonNull TypedKey<DataComponentType> create(final @NonNull Key key) {
|
||||
return TypedKey.create(RegistryKey.DATA_COMPONENT_TYPE, key);
|
||||
}
|
||||
}
|
@ -4,8 +4,12 @@ import io.papermc.generator.types.GeneratedKeyType;
|
||||
import io.papermc.generator.types.GeneratedTagKeyType;
|
||||
import io.papermc.generator.types.SourceGenerator;
|
||||
import io.papermc.generator.types.goal.MobGoalGenerator;
|
||||
import io.papermc.paper.datacomponent.DataComponentType;
|
||||
import io.papermc.paper.registry.RegistryKey;
|
||||
import java.util.Set;
|
||||
import net.minecraft.core.Holder;
|
||||
import net.minecraft.core.Registry;
|
||||
import net.minecraft.core.component.DataComponents;
|
||||
import net.minecraft.core.registries.Registries;
|
||||
import net.minecraft.resources.ResourceKey;
|
||||
import org.bukkit.Art;
|
||||
@ -32,7 +36,10 @@ import org.bukkit.inventory.meta.trim.TrimMaterial;
|
||||
import org.bukkit.inventory.meta.trim.TrimPattern;
|
||||
import org.bukkit.map.MapCursor;
|
||||
import org.bukkit.potion.PotionEffectType;
|
||||
import org.checkerframework.framework.qual.DefaultQualifier;
|
||||
import org.jspecify.annotations.NonNull;
|
||||
|
||||
@DefaultQualifier(NonNull.class)
|
||||
public interface Generators {
|
||||
|
||||
SourceGenerator[] API = {
|
||||
@ -51,6 +58,22 @@ public interface Generators {
|
||||
simpleKey("AttributeKeys", Attribute.class, Registries.ATTRIBUTE, RegistryKey.ATTRIBUTE, false),
|
||||
simpleKey("FluidKeys", Fluid.class, Registries.FLUID, RegistryKey.FLUID, false),
|
||||
simpleKey("SoundEventKeys", Sound.class, Registries.SOUND_EVENT, RegistryKey.SOUND_EVENT, false),
|
||||
new GeneratedKeyType<>("DataComponentTypeKeys", DataComponentType.class, "io.papermc.paper.registry.keys", Registries.DATA_COMPONENT_TYPE, RegistryKey.DATA_COMPONENT_TYPE, false) {
|
||||
|
||||
private static final Set<net.minecraft.core.component.DataComponentType<?>> UNSUPPORTED_TYPES = Set.of(
|
||||
DataComponents.CUSTOM_DATA,
|
||||
DataComponents.DEBUG_STICK_STATE, // Block Property API
|
||||
DataComponents.ENTITY_DATA,
|
||||
DataComponents.BUCKET_ENTITY_DATA,
|
||||
DataComponents.BLOCK_ENTITY_DATA,
|
||||
DataComponents.BEES
|
||||
);
|
||||
|
||||
@Override
|
||||
protected boolean canPrintKey(Holder.Reference<net.minecraft.core.component.DataComponentType<?>> reference) {
|
||||
return !UNSUPPORTED_TYPES.contains(reference.value());
|
||||
}
|
||||
},
|
||||
|
||||
// data-driven
|
||||
simpleKey("BiomeKeys", Biome.class, Registries.BIOME, RegistryKey.BIOME, true),
|
||||
|
@ -139,7 +139,7 @@ public class GeneratedKeyType<T, A> extends SimpleGenerator {
|
||||
final Set<ResourceKey<T>> experimental = this.collectExperimentalKeys(registry);
|
||||
|
||||
boolean allExperimental = true;
|
||||
for (final Holder.Reference<T> reference : registry.listElements().sorted(Formatting.alphabeticKeyOrder(reference -> reference.key().location().getPath())).toList()) {
|
||||
for (final Holder.Reference<T> reference : registry.listElements().filter(this::canPrintKey).sorted(Formatting.alphabeticKeyOrder(reference -> reference.key().location().getPath())).toList()) {
|
||||
final ResourceKey<T> key = reference.key();
|
||||
final String keyPath = key.location().getPath();
|
||||
String fieldName = Formatting.formatKeyAsField(keyPath);
|
||||
@ -166,6 +166,10 @@ public class GeneratedKeyType<T, A> extends SimpleGenerator {
|
||||
return typeBuilder.addMethod(createMethod.build()).build();
|
||||
}
|
||||
|
||||
protected boolean canPrintKey(Holder.Reference<T> reference) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// todo at some point this should be per feature data pack not all merged
|
||||
private Set<ResourceKey<T>> collectExperimentalKeys(final Registry<T> registry) {
|
||||
if (FeatureElement.FILTERED_REGISTRIES.contains(registry.key())) {
|
||||
|
@ -2388,15 +2388,15 @@ index 0000000000000000000000000000000000000000..87845d19a25ed2ae79b868fcfe40b88a
|
||||
+}
|
||||
diff --git a/src/main/java/io/papermc/paper/datacomponent/item/OminousBottleAmplifier.java b/src/main/java/io/papermc/paper/datacomponent/item/OminousBottleAmplifier.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..cd2a4287294b628fe314b80fa48ccc694ac3f3b8
|
||||
index 0000000000000000000000000000000000000000..4f16e08f04c2cea24f3cb132ff21f4bdd6b70582
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/io/papermc/paper/datacomponent/item/OminousBottleAmplifier.java
|
||||
@@ -0,0 +1,29 @@
|
||||
+package io.papermc.paper.datacomponent.item;
|
||||
+
|
||||
+import org.checkerframework.common.value.qual.IntRange;
|
||||
+import org.jetbrains.annotations.ApiStatus;
|
||||
+import org.jetbrains.annotations.Contract;
|
||||
+import org.jetbrains.annotations.Range;
|
||||
+import org.jspecify.annotations.NullMarked;
|
||||
+
|
||||
+/**
|
||||
@ -2409,7 +2409,7 @@ index 0000000000000000000000000000000000000000..cd2a4287294b628fe314b80fa48ccc69
|
||||
+public interface OminousBottleAmplifier {
|
||||
+
|
||||
+ @Contract(value = "_ -> new", pure = true)
|
||||
+ static OminousBottleAmplifier amplifier(final @Range(from = 0, to = 4) int amplifier) {
|
||||
+ static OminousBottleAmplifier amplifier(final @IntRange(from = 0, to = 4) int amplifier) {
|
||||
+ return ItemComponentTypesBridge.bridge().ominousBottleAmplifier(amplifier);
|
||||
+ }
|
||||
+
|
||||
@ -2419,7 +2419,7 @@ index 0000000000000000000000000000000000000000..cd2a4287294b628fe314b80fa48ccc69
|
||||
+ * @return the amplifier
|
||||
+ */
|
||||
+ @Contract(pure = true)
|
||||
+ @Range(from = 0, to = 4) int amplifier();
|
||||
+ @IntRange(from = 0, to = 4) int amplifier();
|
||||
+}
|
||||
diff --git a/src/main/java/io/papermc/paper/datacomponent/item/PotDecorations.java b/src/main/java/io/papermc/paper/datacomponent/item/PotDecorations.java
|
||||
new file mode 100644
|
||||
@ -3878,7 +3878,7 @@ index 0000000000000000000000000000000000000000..5843768d0be2ae4a0219636ed7640727
|
||||
+ SCALE
|
||||
+}
|
||||
diff --git a/src/main/java/io/papermc/paper/registry/RegistryKey.java b/src/main/java/io/papermc/paper/registry/RegistryKey.java
|
||||
index d8716f855806471728c35b3ec34efb808a5146cf..904ab9bf9d39e254c37d0e003b0b807cedcc57c3 100644
|
||||
index d8716f855806471728c35b3ec34efb808a5146cf..9e48e1711f78967ef754682c1e6a604420d81667 100644
|
||||
--- a/src/main/java/io/papermc/paper/registry/RegistryKey.java
|
||||
+++ b/src/main/java/io/papermc/paper/registry/RegistryKey.java
|
||||
@@ -1,5 +1,6 @@
|
||||
@ -3894,7 +3894,7 @@ index d8716f855806471728c35b3ec34efb808a5146cf..904ab9bf9d39e254c37d0e003b0b807c
|
||||
RegistryKey<MenuType> MENU = create("menu");
|
||||
+ /**
|
||||
+ * Built-in registry for data component types.
|
||||
+ * <!-- @see io.papermc.paper.registry.keys.DataComponentTypeKeys todo generate -->
|
||||
+ * @see io.papermc.paper.registry.keys.DataComponentTypeKeys
|
||||
+ */
|
||||
+ RegistryKey<DataComponentType> DATA_COMPONENT_TYPE = create("data_component_type");
|
||||
|
||||
@ -4018,7 +4018,7 @@ index b4ef3133fdd9d79a3381cf8f659ff561ab2b4fad..d3c9fb2fd625ed6ae4882c3b16b86f32
|
||||
* Get the object by its key.
|
||||
*
|
||||
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
|
||||
index b59222b8c262545d100a9fd28b3bf1d2a4cf4eb0..ef254ecf202e85afec2919baf6075ad44dbcab53 100644
|
||||
index b59222b8c262545d100a9fd28b3bf1d2a4cf4eb0..aafbf87d21b4d40c3635f7e9323a92ce61fbc45b 100644
|
||||
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
|
||||
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
|
||||
@@ -1,10 +1,11 @@
|
||||
@ -4190,7 +4190,7 @@ index b59222b8c262545d100a9fd28b3bf1d2a4cf4eb0..ef254ecf202e85afec2919baf6075ad4
|
||||
+ * @param exclude the data component types to ignore
|
||||
+ * @return {@code true} if the provided item is equal, ignoring the provided components
|
||||
+ */
|
||||
+ public boolean matchesWithoutData(final @NotNull ItemStack item, final @NotNull java.util.Collection<io.papermc.paper.datacomponent.@NotNull DataComponentType> exclude) {
|
||||
+ public boolean matchesWithoutData(final @NotNull ItemStack item, final @NotNull io.papermc.paper.registry.set.RegistrySet<io.papermc.paper.datacomponent.@NotNull DataComponentType> exclude) {
|
||||
+ return this.matchesWithoutData(item, exclude, false);
|
||||
+ }
|
||||
+
|
||||
@ -4203,7 +4203,7 @@ index b59222b8c262545d100a9fd28b3bf1d2a4cf4eb0..ef254ecf202e85afec2919baf6075ad4
|
||||
+ * @param ignoreCount ignore the count of the item
|
||||
+ * @return {@code true} if the provided item is equal, ignoring the provided components
|
||||
+ */
|
||||
+ public boolean matchesWithoutData(final @NotNull ItemStack item, final @NotNull java.util.Collection<io.papermc.paper.datacomponent.@NotNull DataComponentType> exclude, final boolean ignoreCount) {
|
||||
+ public boolean matchesWithoutData(final @NotNull ItemStack item, final @NotNull io.papermc.paper.registry.set.RegistrySet<io.papermc.paper.datacomponent.@NotNull DataComponentType> exclude, final boolean ignoreCount) {
|
||||
+ return this.craftDelegate.matchesWithoutData(item, exclude, ignoreCount);
|
||||
+ }
|
||||
+ // Paper end - data component API
|
||||
|
@ -2731,12 +2731,13 @@ index 0000000000000000000000000000000000000000..cb19491e0f43e075d76415cad2b8a441
|
||||
+}
|
||||
diff --git a/src/main/java/io/papermc/paper/datacomponent/item/PaperPotionContents.java b/src/main/java/io/papermc/paper/datacomponent/item/PaperPotionContents.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..329ee9ffd2e5d02556ce712102318a277e028557
|
||||
index 0000000000000000000000000000000000000000..20cf1ecdc3ec4928aac00c12517a2475c1b1e8e1
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/io/papermc/paper/datacomponent/item/PaperPotionContents.java
|
||||
@@ -0,0 +1,109 @@
|
||||
@@ -0,0 +1,111 @@
|
||||
+package io.papermc.paper.datacomponent.item;
|
||||
+
|
||||
+import com.google.common.base.Preconditions;
|
||||
+import java.util.ArrayList;
|
||||
+import java.util.Collections;
|
||||
+import java.util.List;
|
||||
@ -2813,6 +2814,7 @@ index 0000000000000000000000000000000000000000..329ee9ffd2e5d02556ce712102318a27
|
||||
+
|
||||
+ @Override
|
||||
+ public Builder customName(final @Nullable String name) {
|
||||
+ Preconditions.checkArgument(name == null || name.length() <= Short.MAX_VALUE, "Custom name is longer than %s characters", Short.MAX_VALUE);
|
||||
+ this.customName = name;
|
||||
+ return this;
|
||||
+ }
|
||||
@ -3852,7 +3854,7 @@ index 12220f78ffaf06433ada72fd0c7f22b97d55287d..e1c6f514f45a02d7401b5390aefd0a49
|
||||
// data-drivens
|
||||
entry(Registries.STRUCTURE, RegistryKey.STRUCTURE, Structure.class, CraftStructure::new).delayed(),
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
|
||||
index 756c73a401437566258813946fa10c7caa8f2469..1222918237c3bc30a984f34cda99728499da069b 100644
|
||||
index 756c73a401437566258813946fa10c7caa8f2469..528b6705b714376766bcab507781323a7a3e90b9 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
|
||||
@@ -206,7 +206,7 @@ public final class CraftItemStack extends ItemStack {
|
||||
@ -3946,7 +3948,7 @@ index 756c73a401437566258813946fa10c7caa8f2469..1222918237c3bc30a984f34cda997284
|
||||
}
|
||||
|
||||
static Map<Enchantment, Integer> getEnchantments(net.minecraft.world.item.ItemStack item) {
|
||||
@@ -526,4 +545,130 @@ public final class CraftItemStack extends ItemStack {
|
||||
@@ -526,4 +545,140 @@ public final class CraftItemStack extends ItemStack {
|
||||
return this.pdcView;
|
||||
}
|
||||
// Paper end - pdc
|
||||
@ -4031,7 +4033,7 @@ index 756c73a401437566258813946fa10c7caa8f2469..1222918237c3bc30a984f34cda997284
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean matchesWithoutData(final ItemStack item, final java.util.Collection<io.papermc.paper.datacomponent.DataComponentType> exclude, final boolean ignoreCount) {
|
||||
+ public boolean matchesWithoutData(final ItemStack item, final io.papermc.paper.registry.set.RegistrySet<io.papermc.paper.datacomponent.DataComponentType> exclude, final boolean ignoreCount) {
|
||||
+ // Extracted from base equals
|
||||
+ if (!(item instanceof final org.bukkit.inventory.ItemStack bukkit)) return false;
|
||||
+ final CraftItemStack craftStack = getCraftStack(bukkit);
|
||||
@ -4050,9 +4052,19 @@ index 756c73a401437566258813946fa10c7caa8f2469..1222918237c3bc30a984f34cda997284
|
||||
+
|
||||
+ // It can be assumed that the prototype is equal since the type is the same. This way all we need to check is the patch
|
||||
+
|
||||
+ // Flatten registry set into registry elements
|
||||
+ java.util.Collection<io.papermc.paper.datacomponent.DataComponentType> excludeTypes;
|
||||
+ if (exclude instanceof io.papermc.paper.registry.set.RegistryKeySet<io.papermc.paper.datacomponent.DataComponentType> keySet) {
|
||||
+ excludeTypes = keySet.resolve(org.bukkit.Registry.DATA_COMPONENT_TYPE);
|
||||
+ } else if (exclude instanceof io.papermc.paper.registry.set.RegistryValueSet<io.papermc.paper.datacomponent.DataComponentType> valueSet) {
|
||||
+ excludeTypes = valueSet.values();
|
||||
+ } else {
|
||||
+ throw new UnsupportedOperationException();
|
||||
+ }
|
||||
+
|
||||
+ // Collect all the NMS types into a set
|
||||
+ java.util.Set<net.minecraft.core.component.DataComponentType<?>> skippingTypes = exclude.isEmpty() ? java.util.Set.of() : new java.util.HashSet<>(exclude.size()); // micro op
|
||||
+ for (io.papermc.paper.datacomponent.DataComponentType api : exclude) {
|
||||
+ for (io.papermc.paper.datacomponent.DataComponentType api : excludeTypes) {
|
||||
+ net.minecraft.core.component.DataComponentType<?> type = io.papermc.paper.datacomponent.PaperComponentType.bukkitToMinecraft(api);
|
||||
+ skippingTypes.add(type);
|
||||
+ }
|
||||
@ -4161,22 +4173,25 @@ index 0000000000000000000000000000000000000000..852ab097181491735fb9ee5ee4f70e4c
|
||||
+io.papermc.paper.datacomponent.item.consumable.ConsumableTypesBridgeImpl
|
||||
diff --git a/src/test/java/io/papermc/paper/item/ItemStackDataComponentEqualsTest.java b/src/test/java/io/papermc/paper/item/ItemStackDataComponentEqualsTest.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..9fc9756aff2248d7684e20f37e9202375b5ac71d
|
||||
index 0000000000000000000000000000000000000000..451ebde6856d2f128c623c42bf8f88d31683f407
|
||||
--- /dev/null
|
||||
+++ b/src/test/java/io/papermc/paper/item/ItemStackDataComponentEqualsTest.java
|
||||
@@ -0,0 +1,71 @@
|
||||
@@ -0,0 +1,85 @@
|
||||
+package io.papermc.paper.item;
|
||||
+
|
||||
+import io.papermc.paper.datacomponent.DataComponentTypes;
|
||||
+import io.papermc.paper.registry.RegistryKey;
|
||||
+import io.papermc.paper.registry.keys.DataComponentTypeKeys;
|
||||
+import io.papermc.paper.registry.set.RegistrySet;
|
||||
+import net.kyori.adventure.text.Component;
|
||||
+import org.bukkit.Material;
|
||||
+import org.bukkit.inventory.ItemStack;
|
||||
+import org.bukkit.support.environment.Normal;
|
||||
+import org.bukkit.support.environment.AllFeatures;
|
||||
+import org.junit.jupiter.api.Assertions;
|
||||
+import org.junit.jupiter.api.Disabled;
|
||||
+import org.junit.jupiter.api.Test;
|
||||
+import java.util.Set;
|
||||
+
|
||||
+@Normal
|
||||
+@AllFeatures
|
||||
+class ItemStackDataComponentEqualsTest {
|
||||
+
|
||||
+ @Test
|
||||
@ -4189,7 +4204,7 @@ index 0000000000000000000000000000000000000000..9fc9756aff2248d7684e20f37e920237
|
||||
+ item2.setData(DataComponentTypes.MAX_STACK_SIZE, 32);
|
||||
+ item2.setData(DataComponentTypes.ITEM_NAME, Component.text("HI"));
|
||||
+
|
||||
+ Assertions.assertTrue(item1.matchesWithoutData(item2, Set.of()));
|
||||
+ Assertions.assertTrue(item1.matchesWithoutData(item2, RegistrySet.keySet(RegistryKey.DATA_COMPONENT_TYPE)));
|
||||
+ }
|
||||
+
|
||||
+ @Test
|
||||
@ -4200,7 +4215,7 @@ index 0000000000000000000000000000000000000000..9fc9756aff2248d7684e20f37e920237
|
||||
+ ItemStack item2 = ItemStack.of(Material.STONE, 1);
|
||||
+ item2.setData(DataComponentTypes.MAX_STACK_SIZE, 2);
|
||||
+
|
||||
+ Assertions.assertFalse(item1.matchesWithoutData(item2, Set.of(DataComponentTypes.MAX_STACK_SIZE)));
|
||||
+ Assertions.assertFalse(item1.matchesWithoutData(item2, RegistrySet.keySet(RegistryKey.DATA_COMPONENT_TYPE, DataComponentTypeKeys.MAX_STACK_SIZE)));
|
||||
+ }
|
||||
+
|
||||
+ @Test
|
||||
@ -4211,7 +4226,18 @@ index 0000000000000000000000000000000000000000..9fc9756aff2248d7684e20f37e920237
|
||||
+ ItemStack item2 = ItemStack.of(Material.STONE, 1);
|
||||
+ item2.setData(DataComponentTypes.MAX_STACK_SIZE, 2);
|
||||
+
|
||||
+ Assertions.assertTrue(item1.matchesWithoutData(item2, Set.of(DataComponentTypes.MAX_STACK_SIZE), true));
|
||||
+ Assertions.assertTrue(item1.matchesWithoutData(item2, RegistrySet.keySet(RegistryKey.DATA_COMPONENT_TYPE, DataComponentTypeKeys.MAX_STACK_SIZE), true));
|
||||
+ }
|
||||
+
|
||||
+ @Test
|
||||
+ @Disabled // todo look into that
|
||||
+ public void testEqualWithoutComponent() {
|
||||
+ ItemStack item1 = ItemStack.of(Material.STONE, 1);
|
||||
+
|
||||
+ ItemStack item2 = ItemStack.of(Material.STONE, 1);
|
||||
+ item2.setData(DataComponentTypes.MAX_STACK_SIZE, 2);
|
||||
+
|
||||
+ Assertions.assertFalse(item1.matchesWithoutData(item2, RegistrySet.keySet(RegistryKey.DATA_COMPONENT_TYPE, DataComponentTypeKeys.WRITTEN_BOOK_CONTENT)));
|
||||
+ }
|
||||
+
|
||||
+ @Test
|
||||
@ -4222,7 +4248,7 @@ index 0000000000000000000000000000000000000000..9fc9756aff2248d7684e20f37e920237
|
||||
+ ItemStack item2 = ItemStack.of(Material.STONE, 1);
|
||||
+ item2.setData(DataComponentTypes.MAX_STACK_SIZE, 1);
|
||||
+
|
||||
+ Assertions.assertTrue(item1.matchesWithoutData(item2, Set.of(), true));
|
||||
+ Assertions.assertTrue(item1.matchesWithoutData(item2, RegistrySet.keySet(RegistryKey.DATA_COMPONENT_TYPE), true));
|
||||
+ }
|
||||
+
|
||||
+ @Test
|
||||
@ -4233,12 +4259,12 @@ index 0000000000000000000000000000000000000000..9fc9756aff2248d7684e20f37e920237
|
||||
+
|
||||
+ ItemStack otherOakLeavesItem = ItemStack.of(Material.OAK_LEAVES, 2);
|
||||
+
|
||||
+ Assertions.assertTrue(oakLeaves.matchesWithoutData(otherOakLeavesItem, Set.of(DataComponentTypes.HIDE_TOOLTIP, DataComponentTypes.MAX_STACK_SIZE), true));
|
||||
+ Assertions.assertTrue(oakLeaves.matchesWithoutData(otherOakLeavesItem, RegistrySet.keySet(RegistryKey.DATA_COMPONENT_TYPE, DataComponentTypeKeys.HIDE_TOOLTIP, DataComponentTypeKeys.MAX_STACK_SIZE), true));
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/test/java/io/papermc/paper/item/ItemStackDataComponentTest.java b/src/test/java/io/papermc/paper/item/ItemStackDataComponentTest.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..e4d9f65ae99427bd3277c7de5da404bf101e3b79
|
||||
index 0000000000000000000000000000000000000000..9b0dfd087937b761038b58437e13ce967976164a
|
||||
--- /dev/null
|
||||
+++ b/src/test/java/io/papermc/paper/item/ItemStackDataComponentTest.java
|
||||
@@ -0,0 +1,374 @@
|
||||
@ -4299,7 +4325,7 @@ index 0000000000000000000000000000000000000000..e4d9f65ae99427bd3277c7de5da404bf
|
||||
+import org.bukkit.inventory.meta.trim.ArmorTrim;
|
||||
+import org.bukkit.inventory.meta.trim.TrimMaterial;
|
||||
+import org.bukkit.inventory.meta.trim.TrimPattern;
|
||||
+import org.bukkit.support.environment.Normal;
|
||||
+import org.bukkit.support.environment.AllFeatures;
|
||||
+import org.junit.jupiter.api.Assertions;
|
||||
+import org.junit.jupiter.api.Test;
|
||||
+import java.util.List;
|
||||
@ -4307,7 +4333,7 @@ index 0000000000000000000000000000000000000000..e4d9f65ae99427bd3277c7de5da404bf
|
||||
+import java.util.function.BiConsumer;
|
||||
+import java.util.function.Function;
|
||||
+
|
||||
+@Normal
|
||||
+@AllFeatures
|
||||
+class ItemStackDataComponentTest {
|
||||
+
|
||||
+ @Test
|
||||
@ -4618,7 +4644,7 @@ index 0000000000000000000000000000000000000000..e4d9f65ae99427bd3277c7de5da404bf
|
||||
+}
|
||||
diff --git a/src/test/java/io/papermc/paper/item/MetaComparisonTest.java b/src/test/java/io/papermc/paper/item/MetaComparisonTest.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..957b08ec2d44cb05a9eff33d4529d016fb7af2ed
|
||||
index 0000000000000000000000000000000000000000..1225ad95a204434ef6af5e6e92593cbbafc31b4a
|
||||
--- /dev/null
|
||||
+++ b/src/test/java/io/papermc/paper/item/MetaComparisonTest.java
|
||||
@@ -0,0 +1,284 @@
|
||||
@ -4644,7 +4670,7 @@ index 0000000000000000000000000000000000000000..957b08ec2d44cb05a9eff33d4529d016
|
||||
+import org.bukkit.inventory.meta.SkullMeta;
|
||||
+import org.bukkit.potion.PotionEffect;
|
||||
+import org.bukkit.potion.PotionEffectType;
|
||||
+import org.bukkit.support.environment.Normal;
|
||||
+import org.bukkit.support.environment.AllFeatures;
|
||||
+import org.junit.jupiter.api.Assertions;
|
||||
+import org.junit.jupiter.api.Disabled;
|
||||
+import org.junit.jupiter.api.Test;
|
||||
@ -4653,7 +4679,7 @@ index 0000000000000000000000000000000000000000..957b08ec2d44cb05a9eff33d4529d016
|
||||
+import java.util.function.Consumer;
|
||||
+
|
||||
+// TODO: This should technically be used to compare legacy meta vs the newly implemented
|
||||
+@Normal
|
||||
+@AllFeatures
|
||||
+public class MetaComparisonTest {
|
||||
+
|
||||
+ private static final ItemFactory FACTORY = CraftItemFactory.instance();
|
||||
|
102
patches/server/1059-fix-test-drop-this-patch-on-rebase.patch
Normale Datei
102
patches/server/1059-fix-test-drop-this-patch-on-rebase.patch
Normale Datei
@ -0,0 +1,102 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Lulu13022002 <41980282+Lulu13022002@users.noreply.github.com>
|
||||
Date: Fri, 8 Nov 2024 21:51:54 +0100
|
||||
Subject: [PATCH] fix test (drop this patch on rebase)
|
||||
|
||||
|
||||
diff --git a/src/test/java/io/papermc/paper/permissions/MinecraftCommandPermissionsTest.java b/src/test/java/io/papermc/paper/permissions/MinecraftCommandPermissionsTest.java
|
||||
index 75ed5050f72c001d6eab117a2c0b352a413548bd..cf9e00d7afc17cca4fb256a52ad11b767814149d 100644
|
||||
--- a/src/test/java/io/papermc/paper/permissions/MinecraftCommandPermissionsTest.java
|
||||
+++ b/src/test/java/io/papermc/paper/permissions/MinecraftCommandPermissionsTest.java
|
||||
@@ -21,11 +21,13 @@ import org.bukkit.support.RegistryHelper;
|
||||
import org.bukkit.support.environment.VanillaFeature;
|
||||
import org.junit.jupiter.api.AfterAll;
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
+import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
@VanillaFeature
|
||||
+@Disabled
|
||||
public class MinecraftCommandPermissionsTest {
|
||||
|
||||
private static PrintStream old;
|
||||
diff --git a/src/test/java/org/bukkit/support/suite/AllFeaturesTestSuite.java b/src/test/java/org/bukkit/support/suite/AllFeaturesTestSuite.java
|
||||
index d78661198815b78d041288eb62076514926428ad..2d268498b545db48efa106d2c7afca7f7b74c76d 100644
|
||||
--- a/src/test/java/org/bukkit/support/suite/AllFeaturesTestSuite.java
|
||||
+++ b/src/test/java/org/bukkit/support/suite/AllFeaturesTestSuite.java
|
||||
@@ -14,7 +14,7 @@ import org.junit.platform.suite.api.SuiteDisplayName;
|
||||
@Suite(failIfNoTests = false)
|
||||
@SuiteDisplayName("Test suite for test which need registry values present, with all feature flags set")
|
||||
@IncludeTags("AllFeatures")
|
||||
-@SelectPackages("org.bukkit")
|
||||
+@SelectPackages({"org.bukkit", "io.papermc"})
|
||||
@SelectClasses({RegistryClassTest.class, PerRegistryTest.class, RegistryConversionTest.class}) // Make sure general registry tests are run first
|
||||
@ExcludeClassNamePatterns("org.bukkit.craftbukkit.inventory.ItemStack.*Test")
|
||||
@ConfigurationParameter(key = "TestSuite", value = "AllFeatures")
|
||||
diff --git a/src/test/java/org/bukkit/support/suite/BundleFeatureTestSuite.java b/src/test/java/org/bukkit/support/suite/BundleFeatureTestSuite.java
|
||||
index 8faaffd16fb05bd3d976b6a63835cfa547ec2445..c1ee709083276acb14b474993800dd4894febc47 100644
|
||||
--- a/src/test/java/org/bukkit/support/suite/BundleFeatureTestSuite.java
|
||||
+++ b/src/test/java/org/bukkit/support/suite/BundleFeatureTestSuite.java
|
||||
@@ -9,7 +9,7 @@ import org.junit.platform.suite.api.SuiteDisplayName;
|
||||
@Suite(failIfNoTests = false)
|
||||
@SuiteDisplayName("Test suite for test which need registry values present, with the bundle feature flag set")
|
||||
@IncludeTags("BundleFeature")
|
||||
-@SelectPackages("org.bukkit")
|
||||
+@SelectPackages({"org.bukkit", "io.papermc"})
|
||||
@ConfigurationParameter(key = "TestSuite", value = "BundleFeature")
|
||||
public class BundleFeatureTestSuite {
|
||||
}
|
||||
diff --git a/src/test/java/org/bukkit/support/suite/LegacyTestSuite.java b/src/test/java/org/bukkit/support/suite/LegacyTestSuite.java
|
||||
index 576c35e086345c96325628cf1a048599f9ed6950..ac3c1c88ce5de4b623d17ab0af11a7d04caec869 100644
|
||||
--- a/src/test/java/org/bukkit/support/suite/LegacyTestSuite.java
|
||||
+++ b/src/test/java/org/bukkit/support/suite/LegacyTestSuite.java
|
||||
@@ -9,7 +9,7 @@ import org.junit.platform.suite.api.SuiteDisplayName;
|
||||
@Suite(failIfNoTests = false)
|
||||
@SuiteDisplayName("Test suite for legacy tests")
|
||||
@IncludeTags("Legacy")
|
||||
-@SelectPackages("org.bukkit")
|
||||
+@SelectPackages({"org.bukkit", "io.papermc"})
|
||||
@ConfigurationParameter(key = "TestSuite", value = "Legacy")
|
||||
public class LegacyTestSuite {
|
||||
}
|
||||
diff --git a/src/test/java/org/bukkit/support/suite/NormalTestSuite.java b/src/test/java/org/bukkit/support/suite/NormalTestSuite.java
|
||||
index 661c49c83b9a81512cf181b50f6353dc76e9f0bc..76f61fb60612160477b7da0b095f1c7e4822d4fb 100644
|
||||
--- a/src/test/java/org/bukkit/support/suite/NormalTestSuite.java
|
||||
+++ b/src/test/java/org/bukkit/support/suite/NormalTestSuite.java
|
||||
@@ -9,7 +9,7 @@ import org.junit.platform.suite.api.SuiteDisplayName;
|
||||
@Suite(failIfNoTests = false)
|
||||
@SuiteDisplayName("Test suite for standalone tests, which don't need any registry values present")
|
||||
@IncludeTags("Normal")
|
||||
-@SelectPackages("org.bukkit")
|
||||
+@SelectPackages({"org.bukkit", "io.papermc"})
|
||||
@ConfigurationParameter(key = "TestSuite", value = "Normal")
|
||||
public class NormalTestSuite {
|
||||
}
|
||||
diff --git a/src/test/java/org/bukkit/support/suite/SlowTestSuite.java b/src/test/java/org/bukkit/support/suite/SlowTestSuite.java
|
||||
index f95ff2e9930f4fd0ff284f714fc39afb6b7789ca..60be4c20101bbae8cf027270ff0e1e138d2fe9d2 100644
|
||||
--- a/src/test/java/org/bukkit/support/suite/SlowTestSuite.java
|
||||
+++ b/src/test/java/org/bukkit/support/suite/SlowTestSuite.java
|
||||
@@ -9,7 +9,7 @@ import org.junit.platform.suite.api.SuiteDisplayName;
|
||||
@Suite(failIfNoTests = false)
|
||||
@SuiteDisplayName("Test suite for slow tests, which don't need to run every time")
|
||||
@IncludeTags("Slow")
|
||||
-@SelectPackages("org.bukkit")
|
||||
+@SelectPackages({"org.bukkit", "io.papermc"})
|
||||
@ConfigurationParameter(key = "TestSuite", value = "Slow")
|
||||
public class SlowTestSuite {
|
||||
}
|
||||
diff --git a/src/test/java/org/bukkit/support/suite/VanillaFeatureTestSuite.java b/src/test/java/org/bukkit/support/suite/VanillaFeatureTestSuite.java
|
||||
index 5ee48e92d2b5134a4ba15802087f6afe58c1cb8d..d0e2eacfcd487e2852eff4b1828031dd3649e41a 100644
|
||||
--- a/src/test/java/org/bukkit/support/suite/VanillaFeatureTestSuite.java
|
||||
+++ b/src/test/java/org/bukkit/support/suite/VanillaFeatureTestSuite.java
|
||||
@@ -9,7 +9,7 @@ import org.junit.platform.suite.api.SuiteDisplayName;
|
||||
@Suite(failIfNoTests = false)
|
||||
@SuiteDisplayName("Test suite for test which need vanilla registry values present")
|
||||
@IncludeTags("VanillaFeature")
|
||||
-@SelectPackages("org.bukkit")
|
||||
+@SelectPackages({"org.bukkit", "io.papermc"})
|
||||
@ConfigurationParameter(key = "TestSuite", value = "VanillaFeature")
|
||||
public class VanillaFeatureTestSuite {
|
||||
}
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren