Skip to content

Commit 6cc6ce4

Browse files
committed
Merge branch '1.21.3' into 1.21.4
2 parents e5a3766 + 32a39fd commit 6cc6ce4

8 files changed

Lines changed: 37 additions & 10 deletions

File tree

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
- name: build
3434
run: ./gradlew build
3535
- name: capture build artifacts
36-
if: ${{ runner.os == 'Linux' && matrix.java == '17' }} # Only upload artifacts built from latest java on one OS
36+
if: ${{ runner.os == 'Linux' && matrix.java == '21' }} # Only upload artifacts built from latest java on one OS
3737
uses: actions/upload-artifact@v3
3838
with:
3939
name: Artifacts

common/src/main/java/net/thewinnt/cutscenes/CutsceneType.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import java.util.ArrayList;
44
import java.util.List;
55

6-
import net.thewinnt.cutscenes.client.ClientCutsceneManager;
76
import net.thewinnt.cutscenes.rotation.handler.CutsceneRotation;
87
import net.thewinnt.cutscenes.rotation.handler.PlayerRotation;
98
import net.thewinnt.cutscenes.time.CutsceneLength;
@@ -50,7 +49,6 @@ public class CutsceneType {
5049
public final List<CutsceneEffect<?>> effects;
5150

5251
/** Constructs a cutscene type with all parameters specified. */
53-
@SuppressWarnings("deprecation")
5452
public CutsceneType(PathLike path, Path rotationProvider, CutsceneLength length, Transition start, Transition end, boolean blockMovement, RotationHandler rotationHandler, ActionToggles toggles, boolean hideHand, boolean hideBlockOutline, List<CutsceneEffect<?>> effects) {
5553
if (path instanceof Path pth) {
5654
this.path = pth;

common/src/main/java/net/thewinnt/cutscenes/effect/CutsceneEffect.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,14 +66,15 @@ public static CutsceneEffect<?> fromNetwork(FriendlyByteBuf buf) {
6666
return serializer.factory().unchecked(start, end, serializer.fromNetwork(buf));
6767
}
6868

69-
public static CutsceneEffect<?> fromJSON(JsonObject json) {
69+
@SuppressWarnings({"unchecked", "rawtypes"}) // java refuses to acknowledge that the ? is the same in serializer and its fromJSON
70+
public static ServerEffectWrapper<?> fromJSON(JsonObject json) {
7071
ResourceLocation type = ResourceLocation.parse(GsonHelper.getAsString(json, "type"));
7172
CutsceneEffectSerializer<?> serializer = CutsceneAPI.CUTSCENE_EFFECT_SERIALIZERS.getValue(type);
7273
if (serializer == null) {
7374
throw new IllegalArgumentException("Unknown cutscene type effect: " + type);
7475
}
7576
double start = GsonHelper.getAsDouble(json, "start");
7677
double end = GsonHelper.getAsDouble(json, "end");
77-
return serializer.factory().unchecked(start, end, serializer.fromJSON(json));
78+
return new ServerEffectWrapper(start, end, serializer.fromJSON(json), serializer);
7879
}
7980
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package net.thewinnt.cutscenes.effect;
2+
3+
import net.minecraft.client.multiplayer.ClientLevel;
4+
import net.thewinnt.cutscenes.CutsceneType;
5+
6+
public class ServerEffectWrapper<T> extends CutsceneEffect<T> {
7+
private final CutsceneEffectSerializer<T> type;
8+
9+
public ServerEffectWrapper(double startTime, double endTime, T config, CutsceneEffectSerializer<T> type) {
10+
super(startTime, endTime, config);
11+
this.type = type;
12+
}
13+
14+
@Override public void onStart(ClientLevel level, CutsceneType cutscene) {}
15+
16+
@Override public void onFrame(double time, ClientLevel level, CutsceneType cutscene) {}
17+
18+
@Override public void onEnd(ClientLevel level, CutsceneType cutscene) {}
19+
20+
@Override
21+
public CutsceneEffectSerializer<T> getSerializer() {
22+
return this.type;
23+
}
24+
}

common/src/main/java/net/thewinnt/cutscenes/effect/serializer/AppearingTextSerializer.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,9 @@ public AppearingTextConfiguration fromJSON(JsonObject json) {
5050
ResourceLocation soundbite = tryGetSoundEffect(json.get("soundbite"));
5151
DelayProvider delayProvider = DelayProvider.fromJSON(json.get("delays"), UndertaleDelayProvider.INSTANCE);
5252
FloatProvider pitch = FloatProvider.CODEC.parse(JsonOps.INSTANCE, json.get("pitch")).result().orElse(BACKUP_FLOAT);
53-
if (pitch == BACKUP_FLOAT) CutsceneAPI.LOGGER.warn("Error loading float provider, using fallback");
53+
if (json.has("pitch") && pitch == BACKUP_FLOAT) {
54+
CutsceneAPI.LOGGER.warn("Error loading float provider, using fallback");
55+
}
5456
return new AppearingTextConfiguration(text, rx, ry, lineWidth, dropShadow, soundbite, delayProvider, pitch);
5557
}
5658

common/src/main/java/net/thewinnt/cutscenes/effect/type/PlaySoundEffect.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import net.minecraft.client.multiplayer.ClientLevel;
55
import net.minecraft.client.resources.sounds.SimpleSoundInstance;
66
import net.minecraft.client.resources.sounds.SoundInstance;
7-
import net.minecraft.util.RandomSource;
87
import net.minecraft.world.phys.Vec3;
98
import net.thewinnt.cutscenes.CutsceneType;
109
import net.thewinnt.cutscenes.effect.CutsceneEffect;

common/src/main/java/net/thewinnt/cutscenes/entity/CutsceneCameraEntity.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
import net.minecraft.client.player.LocalPlayer;
1717
import net.minecraft.core.BlockPos;
1818
import net.minecraft.core.Holder;
19-
import net.minecraft.core.RegistryAccess;
2019
import net.minecraft.network.protocol.Packet;
2120
import net.minecraft.server.ServerLinks;
2221
import net.minecraft.tags.FluidTags;
@@ -29,7 +28,6 @@
2928
import net.minecraft.world.level.block.state.BlockState;
3029
import net.minecraft.world.level.material.PushReaction;
3130
import net.minecraft.world.phys.Vec3;
32-
import net.thewinnt.cutscenes.CutsceneAPI;
3331
import net.thewinnt.cutscenes.CutsceneInstance;
3432
import net.thewinnt.cutscenes.transition.Transition;
3533

@@ -184,4 +182,9 @@ public double getEyeY() {
184182
public boolean hasEffect(Holder<MobEffect> pEffect) {
185183
return minecraft.player.hasEffect(pEffect);
186184
}
185+
186+
@Override
187+
public boolean shouldRender(double x, double y, double z) {
188+
return false;
189+
}
187190
}

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ org.gradle.jvmargs=-Xmx2G
33
org.gradle.parallel=true
44

55
# Mod properties
6-
mod_version = 1.6.3
6+
mod_version = 1.6.6
77
maven_group = net.thewinnt.cutscenes
88
archives_name = cutscene-api
99
enabled_platforms = fabric,neoforge

0 commit comments

Comments
 (0)