Skip to content

Commit e1cca0d

Browse files
committed
chain lightning and some moving stuff around
1 parent 62b36d0 commit e1cca0d

38 files changed

Lines changed: 341 additions & 349 deletions

src/main/java/birsy/clinker/client/particle/ChainLightningParticle.java

Lines changed: 18 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package birsy.clinker.client.particle;
22

33
import birsy.clinker.client.render.utilities.RenderUtils;
4-
import birsy.clinker.common.alchemy.effects.ChainLightningHandler;
54
import birsy.clinker.core.registry.ClinkerParticles;
65
import com.mojang.blaze3d.vertex.PoseStack;
76
import com.mojang.blaze3d.vertex.VertexConsumer;
@@ -64,11 +63,11 @@ protected ChainLightningParticle(ClientLevel pLevel, Vec3 startPos, Vec3 endPos,
6463
for (int i = 1; i < boltPositions.size(); i++) {
6564
Vec3 pos1 = boltPositions.get(i - 1);
6665
Vec3 pos2 = boltPositions.get(i);
67-
this.totalDistance += pos1.distanceTo(pos2);
66+
this.totalDistance += (float) pos1.distanceTo(pos2);
6867
boltDistances.add(this.totalDistance);
6968
}
7069

71-
this.setLifetime(ChainLightningHandler.BOLT_TRAVEL_TIME);
70+
this.setLifetime(15);
7271
}
7372

7473
@Override
@@ -112,68 +111,59 @@ public void render(VertexConsumer pBuffer, Camera camera, float pPartialTicks) {
112111
float v2 = Mth.lerp(1.0f - d2, sprite.getV0(), sprite.getV1());
113112

114113
RenderUtils.drawFaceBetweenPoints(pBuffer, posestack, 0.05f, pos1, tangent1, biTangent1, normal1, sprite.getU0(), v1, 1, 1, 1, time,
115-
pos2, tangent2, biTangent2, normal2, sprite.getU1(), v2, 1, 1, 1, time);
114+
pos2, tangent2, biTangent2, normal2, sprite.getU1(), v2, 1, 1, 1, time);
116115
}
117116
}
118117

119118

120-
public static class Provider implements ParticleProvider<ChainLightningParticleOptions>, ParticleEngine.SpriteParticleRegistration<ChainLightningParticleOptions> {
119+
public static class Provider implements ParticleProvider<Options>, ParticleEngine.SpriteParticleRegistration<Options> {
121120
private final SpriteSet sprites;
122121

123122
public Provider(SpriteSet pSprites) {
124123
this.sprites = pSprites;
125124
}
126125

127-
public Particle createParticle(ChainLightningParticleOptions pType, ClientLevel pLevel, double pX, double pY, double pZ, double pXSpeed, double pYSpeed, double pZSpeed) {
126+
public Particle createParticle(Options pType, ClientLevel pLevel, double pX, double pY, double pZ, double pXSpeed, double pYSpeed, double pZSpeed) {
128127
return new ChainLightningParticle(pLevel, new Vec3(pType.startX, pType.startY, pType.startZ), new Vec3(pType.endX, pType.endY, pType.endZ), this.sprites);
129128
}
130129

131130
@Override
132-
public ParticleProvider<ChainLightningParticleOptions> create(SpriteSet pSprites) {
131+
public ParticleProvider<Options> create(SpriteSet pSprites) {
133132
return new Provider(pSprites);
134133
}
135134
}
136135

137-
public static class ChainLightningParticleOptions implements ParticleOptions {
138-
public static final MapCodec<ChainLightningParticleOptions> CODEC = RecordCodecBuilder.mapCodec(
136+
public static class Options implements ParticleOptions {
137+
public static final MapCodec<Options> CODEC = RecordCodecBuilder.mapCodec(
139138
builder -> builder.group(
140139
Codec.DOUBLE.fieldOf("startX").forGetter(particleOptions -> particleOptions.startX),
141140
Codec.DOUBLE.fieldOf("startY").forGetter(particleOptions -> particleOptions.startY),
142141
Codec.DOUBLE.fieldOf("startZ").forGetter(particleOptions -> particleOptions.startZ),
143142
Codec.DOUBLE.fieldOf("endX").forGetter(particleOptions -> particleOptions.endX),
144143
Codec.DOUBLE.fieldOf("endY").forGetter(particleOptions -> particleOptions.endY),
145144
Codec.DOUBLE.fieldOf("endZ").forGetter(particleOptions -> particleOptions.endZ)
146-
).apply(builder, ChainLightningParticleOptions::new)
145+
).apply(builder, Options::new)
147146
);
148-
public static final StreamCodec<RegistryFriendlyByteBuf, ChainLightningParticleOptions> STREAM_CODEC = StreamCodec.composite(
147+
public static final StreamCodec<RegistryFriendlyByteBuf, Options> STREAM_CODEC = StreamCodec.composite(
149148
ByteBufCodecs.DOUBLE, particleOptions -> particleOptions.startX,
150149
ByteBufCodecs.DOUBLE, particleOptions -> particleOptions.startY,
151150
ByteBufCodecs.DOUBLE, particleOptions -> particleOptions.startZ,
152151
ByteBufCodecs.DOUBLE, particleOptions -> particleOptions.endX,
153152
ByteBufCodecs.DOUBLE, particleOptions -> particleOptions.endY,
154153
ByteBufCodecs.DOUBLE, particleOptions -> particleOptions.endZ,
155-
ChainLightningParticleOptions::new
154+
Options::new
156155
);
157156

158-
protected final double startX, startY, startZ;
159-
protected final double endX, endY, endZ;
157+
protected final double startX, startY, startZ, endX, endY, endZ;
160158

161-
public ChainLightningParticleOptions(double startX, double startY, double startZ, double endX, double endY, double endZ) {
162-
this.startX = startX;
163-
this.startY = startY;
164-
this.startZ = startZ;
165-
this.endX = endX;
166-
this.endY = endY;
167-
this.endZ = endZ;
159+
public Options(double startX, double startY, double startZ, double endX, double endY, double endZ) {
160+
this.startX = startX; this.startY = startY; this.startZ = startZ;
161+
this.endX = endX; this.endY = endY; this.endZ = endZ;
168162
}
169163

170-
public ChainLightningParticleOptions(Vec3 start, Vec3 end) {
171-
this.startX = start.x();
172-
this.startY = start.y();
173-
this.startZ = start.z();
174-
this.endX = end.x();
175-
this.endY = end.y();
176-
this.endZ = end.z();
164+
public Options(Vec3 start, Vec3 end) {
165+
this.startX = start.x(); this.startY = start.y(); this.startZ = start.z();
166+
this.endX = end.x(); this.endY = end.y(); this.endZ = end.z();
177167
}
178168

179169
@Override

src/main/java/birsy/clinker/client/render/debug/SquadDebugRenderer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package birsy.clinker.client.render.debug;
22

3-
import birsy.clinker.common.world.entity.gnomad.gnomind.squad.SquadDebugDataDump;
3+
import birsy.clinker.common.world.entity.system.squad.SquadDebugDataDump;
44
import com.mojang.blaze3d.vertex.PoseStack;
55
import foundry.veil.api.client.util.DebugRenderHelper;
66
import net.minecraft.client.Minecraft;

src/main/java/birsy/clinker/common/alchemy/effects/ChainLightningHandler.java

Lines changed: 0 additions & 168 deletions
This file was deleted.

src/main/java/birsy/clinker/common/networking/packet/debug/ClientboundSquadDebugPacket.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
package birsy.clinker.common.networking.packet.debug;
22

33
import birsy.clinker.client.render.debug.ClinkerDebugRenderers;
4-
import birsy.clinker.common.world.entity.gnomad.gnomind.squad.Squad;
5-
import birsy.clinker.common.world.entity.gnomad.gnomind.squad.SquadDebugDataDump;
4+
import birsy.clinker.common.world.entity.system.squad.Squad;
5+
import birsy.clinker.common.world.entity.system.squad.SquadDebugDataDump;
66
import birsy.clinker.core.Clinker;
77
import net.minecraft.SharedConstants;
8-
import net.minecraft.client.Minecraft;
98
import net.minecraft.network.FriendlyByteBuf;
109
import net.minecraft.network.codec.ByteBufCodecs;
1110
import net.minecraft.network.codec.StreamCodec;

src/main/java/birsy/clinker/common/world/entity/gnomad/BaseGnomadEntity.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,8 @@
55
import birsy.clinker.common.world.entity.ai.behaviors.LocomotorLookAtTarget;
66
import birsy.clinker.common.world.entity.gnomad.gnomind.behaviors.ReportKnownEnemyLocations;
77
import birsy.clinker.common.world.entity.gnomad.gnomind.sensors.*;
8-
import birsy.clinker.common.world.entity.gnomad.gnomind.squad.Squad;
9-
import birsy.clinker.common.world.entity.gnomad.gnomind.squad.SquadMember;
10-
import birsy.clinker.core.registry.entity.ClinkerMemoryModules;
8+
import birsy.clinker.common.world.entity.system.squad.Squad;
9+
import birsy.clinker.common.world.entity.system.squad.SquadMember;
1110
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
1211
import net.minecraft.nbt.CompoundTag;
1312
import net.minecraft.world.entity.EntityType;

src/main/java/birsy/clinker/common/world/entity/gnomad/GnomadEntity.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,11 @@
44
import birsy.clinker.common.world.entity.gnomad.gnomind.behaviors.PostSquadTask;
55
import birsy.clinker.common.world.entity.gnomad.gnomind.behaviors.SharedGnomadBehaviorSets;
66
import birsy.clinker.common.world.entity.gnomad.gnomind.behaviors.StayNearSquadCenter;
7-
import birsy.clinker.common.world.entity.gnomad.gnomind.squad.squadtasks.ResupplyTask;
7+
import birsy.clinker.common.world.entity.system.squad.squadtasks.ResupplyTask;
88
import birsy.clinker.common.world.entity.gnomad.mogul.GnomadMogulEntity;
99
import foundry.veil.api.client.necromancer.SkeletonParent;
1010
import foundry.veil.api.client.necromancer.animation.Animator;
1111
import net.minecraft.nbt.CompoundTag;
12-
import net.minecraft.network.chat.Component;
1312
import net.minecraft.sounds.SoundEvents;
1413
import net.minecraft.world.DifficultyInstance;
1514
import net.minecraft.world.entity.*;
@@ -23,8 +22,6 @@
2322
import net.tslat.smartbrainlib.api.core.behaviour.custom.attack.AnimatableRangedAttack;
2423
import net.tslat.smartbrainlib.api.core.behaviour.custom.misc.Idle;
2524
import net.tslat.smartbrainlib.api.core.behaviour.custom.path.SetRandomWalkTarget;
26-
import net.tslat.smartbrainlib.api.core.behaviour.custom.target.SetPlayerLookTarget;
27-
import net.tslat.smartbrainlib.api.core.behaviour.custom.target.SetRandomLookTarget;
2825
import org.jetbrains.annotations.Nullable;
2926

3027
public class GnomadEntity extends BaseGnomadEntity<GnomadEntity>

src/main/java/birsy/clinker/common/world/entity/gnomad/GnomadRuntEntity.java

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,30 +4,23 @@
44
import birsy.clinker.common.world.entity.gnomad.gnomind.behaviors.ClaimSquadTask;
55
import birsy.clinker.common.world.entity.gnomad.gnomind.behaviors.SharedGnomadBehaviorSets;
66
import birsy.clinker.common.world.entity.gnomad.gnomind.behaviors.StayNearSquadCenter;
7-
import birsy.clinker.common.world.entity.gnomad.gnomind.behaviors.delivery.FetchAndDeliverSupplies;
8-
import birsy.clinker.common.world.entity.gnomad.gnomind.squad.squadtasks.ResupplyTask;
7+
import birsy.clinker.common.world.entity.system.squad.squadtasks.ResupplyTask;
98
import foundry.veil.api.client.necromancer.SkeletonParent;
109
import foundry.veil.api.client.necromancer.animation.Animator;
1110
import net.minecraft.nbt.CompoundTag;
12-
import net.minecraft.network.chat.Component;
1311
import net.minecraft.network.syncher.EntityDataAccessor;
1412
import net.minecraft.network.syncher.EntityDataSerializers;
1513
import net.minecraft.network.syncher.SynchedEntityData;
16-
import net.minecraft.world.damagesource.DamageSource;
17-
import net.minecraft.world.entity.Entity;
1814
import net.minecraft.world.entity.EntityType;
1915
import net.minecraft.world.entity.PathfinderMob;
2016
import net.minecraft.world.entity.ai.attributes.AttributeSupplier;
2117
import net.minecraft.world.entity.ai.attributes.Attributes;
22-
import net.minecraft.world.entity.monster.Zombie;
2318
import net.minecraft.world.level.Level;
2419
import net.tslat.smartbrainlib.api.core.BrainActivityGroup;
2520
import net.tslat.smartbrainlib.api.core.behaviour.FirstApplicableBehaviour;
2621
import net.tslat.smartbrainlib.api.core.behaviour.OneRandomBehaviour;
2722
import net.tslat.smartbrainlib.api.core.behaviour.custom.misc.Idle;
2823
import net.tslat.smartbrainlib.api.core.behaviour.custom.path.SetRandomWalkTarget;
29-
import net.tslat.smartbrainlib.api.core.behaviour.custom.target.SetPlayerLookTarget;
30-
import net.tslat.smartbrainlib.api.core.behaviour.custom.target.SetRandomLookTarget;
3124
import org.jetbrains.annotations.Nullable;
3225

3326
import static net.minecraft.world.entity.monster.Monster.createMonsterAttributes;

src/main/java/birsy/clinker/common/world/entity/gnomad/gnomind/behaviors/ClaimSquadTask.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package birsy.clinker.common.world.entity.gnomad.gnomind.behaviors;
22

3-
import birsy.clinker.common.world.entity.gnomad.gnomind.squad.Squad;
4-
import birsy.clinker.common.world.entity.gnomad.gnomind.squad.SquadMember;
5-
import birsy.clinker.common.world.entity.gnomad.gnomind.squad.SquadTask;
3+
import birsy.clinker.common.world.entity.system.squad.Squad;
4+
import birsy.clinker.common.world.entity.system.squad.SquadMember;
5+
import birsy.clinker.common.world.entity.system.squad.SquadTask;
66
import birsy.clinker.core.Clinker;
77
import birsy.clinker.core.registry.entity.ClinkerMemoryModules;
88
import com.mojang.datafixers.util.Pair;

src/main/java/birsy/clinker/common/world/entity/gnomad/gnomind/behaviors/PostSquadTask.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package birsy.clinker.common.world.entity.gnomad.gnomind.behaviors;
22

3-
import birsy.clinker.common.world.entity.gnomad.gnomind.squad.Squad;
4-
import birsy.clinker.common.world.entity.gnomad.gnomind.squad.SquadMember;
5-
import birsy.clinker.common.world.entity.gnomad.gnomind.squad.SquadTask;
3+
import birsy.clinker.common.world.entity.system.squad.Squad;
4+
import birsy.clinker.common.world.entity.system.squad.SquadMember;
5+
import birsy.clinker.common.world.entity.system.squad.SquadTask;
66
import birsy.clinker.core.Clinker;
77
import birsy.clinker.core.registry.entity.ClinkerMemoryModules;
88
import com.mojang.datafixers.util.Pair;

0 commit comments

Comments
 (0)