SPIGOT-7300, #1180: Add new DamageSource API providing enhanced information about entity damage

By: Doc <nachito94@msn.com>
This commit is contained in:
CraftBukkit/Spigot
2024-02-11 09:54:25 +11:00
parent db4af65c2e
commit 49b5ee78bb
29 changed files with 640 additions and 310 deletions

View File

@@ -0,0 +1,30 @@
package org.bukkit.damage;
import static org.junit.jupiter.api.Assertions.*;
import org.bukkit.craftbukkit.damage.CraftDamageType;
import org.junit.jupiter.api.Test;
public class DamageTypeTest {
@Test
public void testDeathMessageType() {
for (DeathMessageType deathMessageType : DeathMessageType.values()) {
assertNotNull(CraftDamageType.deathMessageTypeToNMS(deathMessageType), deathMessageType.name());
}
for (net.minecraft.world.damagesource.DeathMessageType deathMessageType : net.minecraft.world.damagesource.DeathMessageType.values()) {
assertNotNull(CraftDamageType.deathMessageTypeToBukkit(deathMessageType), deathMessageType.name());
}
}
@Test
public void testDamageScale() {
for (DamageScaling damageScaling : DamageScaling.values()) {
assertNotNull(CraftDamageType.damageScalingToNMS(damageScaling), damageScaling.name());
}
for (net.minecraft.world.damagesource.DamageScaling damageScaling : net.minecraft.world.damagesource.DamageScaling.values()) {
assertNotNull(CraftDamageType.damageScalingToBukkit(damageScaling), damageScaling.name());
}
}
}

View File

@@ -13,6 +13,7 @@ import org.bukkit.Keyed;
import org.bukkit.NamespacedKey;
import org.bukkit.Registry;
import org.bukkit.craftbukkit.util.CraftNamespacedKey;
import org.bukkit.damage.DamageType;
import org.bukkit.inventory.meta.trim.TrimMaterial;
import org.bukkit.inventory.meta.trim.TrimPattern;
import org.bukkit.support.AbstractTestingBase;
@@ -20,6 +21,12 @@ import org.junit.jupiter.api.Test;
public class RegistryConstantsTest extends AbstractTestingBase {
@Test
public void testDamageType() {
this.testExcessConstants(DamageType.class, Registry.DAMAGE_TYPE);
this.testMissingConstants(DamageType.class, Registries.DAMAGE_TYPE);
}
@Test
public void testTrimMaterial() {
this.testExcessConstants(TrimMaterial.class, Registry.TRIM_MATERIAL);

View File

@@ -10,12 +10,14 @@ import org.bukkit.GameEvent;
import org.bukkit.MusicInstrument;
import org.bukkit.craftbukkit.CraftGameEvent;
import org.bukkit.craftbukkit.CraftMusicInstrument;
import org.bukkit.craftbukkit.damage.CraftDamageType;
import org.bukkit.craftbukkit.enchantments.CraftEnchantment;
import org.bukkit.craftbukkit.generator.structure.CraftStructure;
import org.bukkit.craftbukkit.generator.structure.CraftStructureType;
import org.bukkit.craftbukkit.inventory.trim.CraftTrimMaterial;
import org.bukkit.craftbukkit.inventory.trim.CraftTrimPattern;
import org.bukkit.craftbukkit.potion.CraftPotionEffectType;
import org.bukkit.damage.DamageType;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.generator.structure.Structure;
import org.bukkit.generator.structure.StructureType;
@@ -40,6 +42,7 @@ public class RegistriesArgumentProvider implements ArgumentsProvider {
DATA.add(Arguments.of(StructureType.class, Registries.STRUCTURE_TYPE, CraftStructureType.class, net.minecraft.world.level.levelgen.structure.StructureType.class));
DATA.add(Arguments.of(TrimMaterial.class, Registries.TRIM_MATERIAL, CraftTrimMaterial.class, net.minecraft.world.item.armortrim.TrimMaterial.class));
DATA.add(Arguments.of(TrimPattern.class, Registries.TRIM_PATTERN, CraftTrimPattern.class, net.minecraft.world.item.armortrim.TrimPattern.class));
DATA.add(Arguments.of(DamageType.class, Registries.DAMAGE_TYPE, CraftDamageType.class, net.minecraft.world.damagesource.DamageType.class));
}
@Override