mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-02-11 12:43:07 +08:00
Fix invalid gadget info for worktops
This commit is contained in:
parent
404ff9233a
commit
76251c6718
@ -1,5 +1,6 @@
|
|||||||
package emu.grasscutter.game.entity.gadget;
|
package emu.grasscutter.game.entity.gadget;
|
||||||
|
|
||||||
|
import emu.grasscutter.Grasscutter;
|
||||||
import emu.grasscutter.game.entity.EntityGadget;
|
import emu.grasscutter.game.entity.EntityGadget;
|
||||||
import emu.grasscutter.game.entity.gadget.worktop.WorktopWorktopOptionHandler;
|
import emu.grasscutter.game.entity.gadget.worktop.WorktopWorktopOptionHandler;
|
||||||
import emu.grasscutter.game.player.Player;
|
import emu.grasscutter.game.player.Player;
|
||||||
@ -10,6 +11,7 @@ import emu.grasscutter.net.proto.WorktopInfoOuterClass.WorktopInfo;
|
|||||||
import it.unimi.dsi.fastutil.ints.IntOpenHashSet;
|
import it.unimi.dsi.fastutil.ints.IntOpenHashSet;
|
||||||
import it.unimi.dsi.fastutil.ints.IntSet;
|
import it.unimi.dsi.fastutil.ints.IntSet;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.Collections;
|
||||||
|
|
||||||
public final class GadgetWorktop extends GadgetContent {
|
public final class GadgetWorktop extends GadgetContent {
|
||||||
private IntSet worktopOptions;
|
private IntSet worktopOptions;
|
||||||
@ -45,14 +47,19 @@ public final class GadgetWorktop extends GadgetContent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void onBuildProto(SceneGadgetInfo.Builder gadgetInfo) {
|
public void onBuildProto(SceneGadgetInfo.Builder gadgetInfo) {
|
||||||
if (this.worktopOptions == null) {
|
var options = this.getWorktopOptions();
|
||||||
return;
|
if (options == null) return;
|
||||||
|
|
||||||
|
try {
|
||||||
|
var worktop = WorktopInfo.newBuilder()
|
||||||
|
.addAllOptionList(options).build();
|
||||||
|
gadgetInfo.setWorktop(worktop);
|
||||||
|
} catch (NullPointerException ignored) {
|
||||||
|
// "this.wrapped" is null.
|
||||||
|
gadgetInfo.setWorktop(WorktopInfo.newBuilder()
|
||||||
|
.addAllOptionList(Collections.emptyList()).build());
|
||||||
|
Grasscutter.getLogger().warn("GadgetWorktop.onBuildProto: this.wrapped is null");
|
||||||
}
|
}
|
||||||
|
|
||||||
WorktopInfo worktop =
|
|
||||||
WorktopInfo.newBuilder().addAllOptionList(this.getWorktopOptions()).build();
|
|
||||||
|
|
||||||
gadgetInfo.setWorktop(worktop);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setOnSelectWorktopOptionEvent(WorktopWorktopOptionHandler handler) {
|
public void setOnSelectWorktopOptionEvent(WorktopWorktopOptionHandler handler) {
|
||||||
|
Loading…
Reference in New Issue
Block a user