mirror of
https://github.com/FancyInnovations/FancyPlugins.git
synced 2025-12-06 07:43:36 +00:00
fancyholograms v3: Add trait to hologram builder
This commit is contained in:
@@ -4,6 +4,7 @@ import com.fancyinnovations.fancyholograms.api.FancyHolograms;
|
|||||||
import com.fancyinnovations.fancyholograms.api.data.DisplayHologramData;
|
import com.fancyinnovations.fancyholograms.api.data.DisplayHologramData;
|
||||||
import com.fancyinnovations.fancyholograms.api.data.property.Visibility;
|
import com.fancyinnovations.fancyholograms.api.data.property.Visibility;
|
||||||
import com.fancyinnovations.fancyholograms.api.hologram.Hologram;
|
import com.fancyinnovations.fancyholograms.api.hologram.Hologram;
|
||||||
|
import com.fancyinnovations.fancyholograms.api.trait.HologramTrait;
|
||||||
import org.bukkit.entity.Display;
|
import org.bukkit.entity.Display;
|
||||||
import org.joml.Vector3f;
|
import org.joml.Vector3f;
|
||||||
|
|
||||||
@@ -58,6 +59,15 @@ public abstract class HologramBuilder {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds a trait to the hologram.
|
||||||
|
*/
|
||||||
|
public final HologramBuilder trait(Class<? extends HologramTrait> trait) {
|
||||||
|
data.addTrait(trait);
|
||||||
|
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
// The following methods are specific to the DisplayHologramData class
|
// The following methods are specific to the DisplayHologramData class
|
||||||
|
|
||||||
public HologramBuilder billboard(Display.Billboard billboard) {
|
public HologramBuilder billboard(Display.Billboard billboard) {
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import com.fancyinnovations.fancyholograms.api.data.property.Visibility;
|
|||||||
import com.fancyinnovations.fancyholograms.api.hologram.Hologram;
|
import com.fancyinnovations.fancyholograms.api.hologram.Hologram;
|
||||||
import com.fancyinnovations.fancyholograms.api.hologram.HologramType;
|
import com.fancyinnovations.fancyholograms.api.hologram.HologramType;
|
||||||
import com.fancyinnovations.fancyholograms.main.FancyHologramsPlugin;
|
import com.fancyinnovations.fancyholograms.main.FancyHologramsPlugin;
|
||||||
|
import com.fancyinnovations.fancyholograms.trait.builtin.DebugTrait;
|
||||||
import de.oliver.plugintests.annotations.FPTest;
|
import de.oliver.plugintests.annotations.FPTest;
|
||||||
import org.bukkit.Color;
|
import org.bukkit.Color;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
@@ -98,6 +99,7 @@ public class HologramBuilderTest {
|
|||||||
.visibility(Visibility.ALL)
|
.visibility(Visibility.ALL)
|
||||||
.persistent(false)
|
.persistent(false)
|
||||||
.linkedNpcName("TestNPC")
|
.linkedNpcName("TestNPC")
|
||||||
|
.trait(DebugTrait.class)
|
||||||
.billboard(Display.Billboard.FIXED)
|
.billboard(Display.Billboard.FIXED)
|
||||||
.scale(3, 5, 6)
|
.scale(3, 5, 6)
|
||||||
.translation(1, 2, 3)
|
.translation(1, 2, 3)
|
||||||
@@ -122,6 +124,7 @@ public class HologramBuilderTest {
|
|||||||
expect(data.getVisibility()).toEqual(Visibility.ALL);
|
expect(data.getVisibility()).toEqual(Visibility.ALL);
|
||||||
expect(data.isPersistent()).toBe(false);
|
expect(data.isPersistent()).toBe(false);
|
||||||
expect(data.getLinkedNpcName()).toEqual("TestNPC");
|
expect(data.getLinkedNpcName()).toEqual("TestNPC");
|
||||||
|
expect(data.getTraitTrait().isTraitAttached(DebugTrait.class)).toBe(true);
|
||||||
expect(data.getBillboard()).toEqual(Display.Billboard.FIXED);
|
expect(data.getBillboard()).toEqual(Display.Billboard.FIXED);
|
||||||
expect(data.getScale()).toEqual(new Vector3f(3, 5, 6));
|
expect(data.getScale()).toEqual(new Vector3f(3, 5, 6));
|
||||||
expect(data.getTranslation()).toEqual(new Vector3f(1, 2, 3));
|
expect(data.getTranslation()).toEqual(new Vector3f(1, 2, 3));
|
||||||
|
|||||||
Reference in New Issue
Block a user