Skip to content

Commit c1a0d74

Browse files
committed
Unfortunately disable the Curry dex for now due to issues with serialization and deserialization for 1.0.0. Rework in 1.6.
1 parent 485d980 commit c1a0d74

4 files changed

Lines changed: 24 additions & 4 deletions

File tree

common/src/main/java/generations/gg/generations/core/generationscore/common/GenerationsCore.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ public static void init(GenerationsImplementation implementation) {
144144
PlayerDataExtensionRegistry.INSTANCE.register(AccountInfo.KEY, AccountInfo.class, false);
145145
PlayerDataExtensionRegistry.INSTANCE.register(Caught.KEY, Caught.class, false);
146146
PlayerDataExtensionRegistry.INSTANCE.register(BiomesVisited.KEY, BiomesVisited.class, false);
147-
PlayerDataExtensionRegistry.INSTANCE.register(CurryDex.KEY, CurryDex.class, false);
147+
// PlayerDataExtensionRegistry.INSTANCE.register(CurryDex.KEY, CurryDex.class, false);
148148

149149
GenerationsMolangFunctions.init();
150150

common/src/main/java/generations/gg/generations/core/generationscore/common/api/events/CurryEvents.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,18 @@
44
import dev.architectury.event.Event;
55
import dev.architectury.event.EventActor;
66
import dev.architectury.event.EventFactory;
7+
import dev.architectury.event.EventResult;
78
import generations.gg.generations.core.generationscore.common.api.player.CurryDex;
89
import generations.gg.generations.core.generationscore.common.world.item.curry.CurryData;
10+
import generations.gg.generations.core.generationscore.common.world.item.curry.CurryTasteRating;
911
import generations.gg.generations.core.generationscore.common.world.item.curry.CurryType;
1012
import net.minecraft.server.level.ServerPlayer;
13+
import net.minecraft.world.item.ItemStack;
14+
import org.jetbrains.annotations.NotNull;
15+
import org.jetbrains.annotations.Nullable;
1116

1217
import java.util.List;
18+
import java.util.function.Function;
1319

1420
public class CurryEvents {
1521
public static final Event<EventActor<Cook>> COOK = EventFactory.createEventActorLoop();
@@ -43,6 +49,15 @@ public void setOutput(CurryData output) {
4349
}
4450
}
4551

52+
public static final Event<ModifyRating> MODIFY_RATING = EventFactory.of(eventActors -> (original, player, data) -> {
53+
CurryTasteRating rating = null;
54+
55+
for (var actor : eventActors) {
56+
rating = actor.modifyRating(original, player, data);
57+
}
58+
59+
return rating != null ? rating : original;
60+
});
4661

4762
public static final Event<EventActor<AddEntry>> ADD_ENTRY = EventFactory.createEventActorLoop();
4863
public static class AddEntry {
@@ -72,4 +87,8 @@ public ServerPlayer getPlayer() {
7287
return player;
7388
}
7489
}
90+
91+
public static interface ModifyRating {
92+
public @Nullable CurryTasteRating modifyRating(@NotNull CurryTasteRating original, @NotNull ServerPlayer player, @NotNull CurryData data);
93+
}
7594
}

common/src/main/java/generations/gg/generations/core/generationscore/common/api/player/CurryDex.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ class CurryDex @JvmOverloads constructor(var entries: MutableList<CurryDexEntry>
126126
}
127127

128128
private val comparator: Comparator<CurryDexEntry> =
129-
Comparator.comparingInt { a: CurryDexEntry -> a.type!!.ordinal }
129+
Comparator.comparingInt { a: CurryDexEntry -> a.type.ordinal }
130130
.thenComparingInt { a: CurryDexEntry -> a.flavor!!.ordinal }
131131

132132
fun of(player: ServerPlayer): CurryDex {

common/src/main/java/generations/gg/generations/core/generationscore/common/world/item/curry/ItemCurry.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import com.cobblemon.mod.common.api.text.plus
66
import com.cobblemon.mod.common.api.text.text
77
import com.cobblemon.mod.common.entity.pokemon.PokemonEntity
88
import generations.gg.generations.core.generationscore.common.GenerationsCore
9+
import generations.gg.generations.core.generationscore.common.api.events.CurryEvents
910
import generations.gg.generations.core.generationscore.common.api.player.CurryDex
1011
import generations.gg.generations.core.generationscore.common.util.GenerationsUtils.getFlavorLocalizedName
1112
import generations.gg.generations.core.generationscore.common.util.add
@@ -54,12 +55,12 @@ class ItemCurry(properties: Properties) : Item(properties.stacksTo(64)), Pokemon
5455

5556
override fun onCraftedBy(stack: ItemStack, level: Level, player: Player) {
5657
if (player is ServerPlayer) {
57-
val rating = CurryDex.of(player).currentTaste
5858
val data = getData(stack)
59+
val rating = CurryEvents.MODIFY_RATING.invoker().modifyRating(CurryTasteRating.Koffing, player, data)!! //CurryDex.of(player).currentTaste
5960
data.setRating(rating)
6061
rating.configureData(data)
6162
setData(stack, data)
62-
CurryDex.add(player, data)
63+
// CurryDex.add(player, data)
6364
}
6465
}
6566

0 commit comments

Comments
 (0)