Skip to content

Commit 86be2b7

Browse files
committed
add set glowing on models
1 parent 3949cce commit 86be2b7

File tree

9 files changed

+92
-3
lines changed

9 files changed

+92
-3
lines changed

src/main/java/net/worldseed/multipart/GenericModel.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import net.minestom.server.Viewable;
44
import net.minestom.server.collision.Shape;
5+
import net.minestom.server.color.Color;
56
import net.minestom.server.coordinate.Point;
67
import net.minestom.server.coordinate.Pos;
78
import net.minestom.server.entity.Entity;
@@ -127,4 +128,7 @@ public interface GenericModel extends Viewable, EventHandler<ModelEvent>, Shape
127128
void triggerAnimationEnd(String animation, AnimationHandlerImpl.AnimationDirection direction);
128129

129130
void setScale(float scale);
131+
132+
void removeGlowing();
133+
void setGlowing(Color color);
130134
}

src/main/java/net/worldseed/multipart/GenericModelImpl.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import net.minestom.server.collision.BoundingBox;
1010
import net.minestom.server.collision.Shape;
1111
import net.minestom.server.collision.SweepResult;
12+
import net.minestom.server.color.Color;
1213
import net.minestom.server.coordinate.Point;
1314
import net.minestom.server.coordinate.Pos;
1415
import net.minestom.server.coordinate.Vec;
@@ -444,4 +445,14 @@ public boolean intersectBox(@NotNull Point point, @NotNull BoundingBox boundingB
444445
public boolean intersectBoxSwept(@NotNull Point rayStart, @NotNull Point rayDirection, @NotNull Point shapePos, @NotNull BoundingBox moving, @NotNull SweepResult finalResult) {
445446
throw new UnsupportedOperationException("Not implemented");
446447
}
448+
449+
@Override
450+
public void setGlowing(Color color) {
451+
this.viewableBones.forEach(part -> part.setGlowing(color));
452+
}
453+
454+
@Override
455+
public void removeGlowing() {
456+
this.viewableBones.forEach(ModelBoneImpl::removeGlowing);
457+
}
447458
}

src/main/java/net/worldseed/multipart/model_bones/ModelBone.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package net.worldseed.multipart.model_bones;
22

3+
import net.minestom.server.color.Color;
34
import net.minestom.server.coordinate.Point;
45
import net.minestom.server.coordinate.Pos;
56
import net.minestom.server.entity.Player;
@@ -42,4 +43,7 @@ public interface ModelBone {
4243
void removeViewer(Player player);
4344

4445
void setScale(float scale);
46+
47+
void removeGlowing();
48+
void setGlowing(Color color);
4549
}

src/main/java/net/worldseed/multipart/model_bones/armour_stand/ModelBonePartArmourStandHand.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package net.worldseed.multipart.model_bones.armour_stand;
22

3+
import net.minestom.server.color.Color;
34
import net.minestom.server.coordinate.Point;
45
import net.minestom.server.coordinate.Pos;
56
import net.minestom.server.coordinate.Vec;
@@ -32,6 +33,16 @@ public void removeViewer(Player player) {
3233
if (this.stand != null) this.stand.removeViewer(player);
3334
}
3435

36+
@Override
37+
public void removeGlowing() {
38+
if (this.stand != null) this.stand.setGlowing(false);
39+
}
40+
41+
@Override
42+
public void setGlowing(Color color) {
43+
if (this.stand != null) this.stand.setGlowing(true);
44+
}
45+
3546
public ModelBonePartArmourStandHand(Point pivot, String name, Point rotation, GenericModel model, float scale) {
3647
super(pivot, name, rotation, model, scale);
3748

src/main/java/net/worldseed/multipart/model_bones/display_entity/ModelBonePartDisplay.java

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
package net.worldseed.multipart.model_bones.display_entity;
22

3+
import net.minestom.server.color.Color;
34
import net.minestom.server.coordinate.Point;
45
import net.minestom.server.coordinate.Pos;
56
import net.minestom.server.coordinate.Vec;
67
import net.minestom.server.entity.Entity;
78
import net.minestom.server.entity.EntityType;
89
import net.minestom.server.entity.Player;
9-
import net.minestom.server.entity.metadata.display.AbstractDisplayMeta;
1010
import net.minestom.server.entity.metadata.display.ItemDisplayMeta;
1111
import net.minestom.server.entity.metadata.other.ArmorStandMeta;
1212
import net.minestom.server.instance.Instance;
@@ -42,6 +42,23 @@ public void setScale(float scale) {
4242
}
4343
}
4444

45+
@Override
46+
public void removeGlowing() {
47+
if (this.stand != null) {
48+
var meta = (ItemDisplayMeta) this.stand.getEntityMeta();
49+
meta.setHasGlowingEffect(false);
50+
}
51+
}
52+
53+
@Override
54+
public void setGlowing(Color color) {
55+
if (this.stand != null) {
56+
var meta = (ItemDisplayMeta) this.stand.getEntityMeta();
57+
meta.setHasGlowingEffect(true);
58+
meta.setGlowColorOverride(color.asRGB());
59+
}
60+
}
61+
4562
@Override
4663
public void removeViewer(Player player) {
4764
if (this.stand != null) this.stand.removeViewer(player);

src/main/java/net/worldseed/multipart/model_bones/misc/ModelBoneHitbox.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.google.gson.JsonArray;
44
import net.minestom.server.MinecraftServer;
5+
import net.minestom.server.color.Color;
56
import net.minestom.server.coordinate.Point;
67
import net.minestom.server.coordinate.Pos;
78
import net.minestom.server.coordinate.Vec;
@@ -49,6 +50,14 @@ public void setScale(float scale) {
4950
this.illegitimateChildren.forEach(modelBone -> modelBone.spawn(model.getInstance(), model.getPosition()));
5051
}
5152

53+
@Override
54+
public void removeGlowing() {
55+
}
56+
57+
@Override
58+
public void setGlowing(Color color) {
59+
}
60+
5261
private static final Tag<String> WSEE = Tag.String("WSEE");
5362

5463
public ModelBoneHitbox(Point pivot, String name, Point rotation, GenericModel model, Point newOffset, double sizeX, double sizeY, JsonArray cubes, boolean parent, float scale) {

src/main/java/net/worldseed/multipart/model_bones/misc/ModelBoneNametag.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package net.worldseed.multipart.model_bones.misc;
22

3+
import net.minestom.server.color.Color;
34
import net.minestom.server.coordinate.Point;
45
import net.minestom.server.coordinate.Pos;
56
import net.minestom.server.coordinate.Vec;
@@ -22,6 +23,16 @@ public void removeViewer(Player player) {
2223
if (this.stand != null) this.stand.removeViewer(player);
2324
}
2425

26+
@Override
27+
public void removeGlowing() {
28+
29+
}
30+
31+
@Override
32+
public void setGlowing(Color color) {
33+
34+
}
35+
2536
public ModelBoneNametag(Point pivot, String name, Point rotation, GenericModel model, BoneEntity nametagEntity, float scale) {
2637
super(pivot, name, rotation, model, scale);
2738

src/main/java/net/worldseed/multipart/model_bones/misc/ModelBoneSeat.java

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
package net.worldseed.multipart.model_bones.misc;
22

3+
import net.minestom.server.color.Color;
34
import net.minestom.server.coordinate.Point;
45
import net.minestom.server.coordinate.Pos;
56
import net.minestom.server.coordinate.Vec;
67
import net.minestom.server.entity.EntityType;
7-
import net.minestom.server.entity.LivingEntity;
88
import net.minestom.server.entity.Player;
99
import net.minestom.server.instance.Instance;
1010
import net.minestom.server.tag.Tag;
11-
import net.worldseed.multipart.*;
11+
import net.worldseed.multipart.GenericModel;
12+
import net.worldseed.multipart.Quaternion;
1213
import net.worldseed.multipart.model_bones.BoneEntity;
1314
import net.worldseed.multipart.model_bones.ModelBone;
1415
import net.worldseed.multipart.model_bones.ModelBoneImpl;
@@ -27,6 +28,16 @@ public void removeViewer(Player player) {
2728
if (this.stand != null) this.stand.removeViewer(player);
2829
}
2930

31+
@Override
32+
public void removeGlowing() {
33+
34+
}
35+
36+
@Override
37+
public void setGlowing(Color color) {
38+
39+
}
40+
3041
public ModelBoneSeat(Point pivot, String name, Point rotation, GenericModel model, float scale) {
3142
super(pivot, name, rotation, model, scale);
3243

src/main/java/net/worldseed/multipart/model_bones/misc/ModelBoneVFX.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package net.worldseed.multipart.model_bones.misc;
22

3+
import net.minestom.server.color.Color;
34
import net.minestom.server.coordinate.Point;
45
import net.minestom.server.coordinate.Pos;
56
import net.minestom.server.coordinate.Vec;
@@ -19,6 +20,16 @@ public void addViewer(Player player) {}
1920
@Override
2021
public void removeViewer(Player player) { }
2122

23+
@Override
24+
public void removeGlowing() {
25+
26+
}
27+
28+
@Override
29+
public void setGlowing(Color color) {
30+
31+
}
32+
2233
private Point position = Pos.ZERO;
2334

2435
public Point getPosition() {

0 commit comments

Comments
 (0)