From b4c02e240d9b1d40a684efc9a5bbfdf05f607b86 Mon Sep 17 00:00:00 2001 From: DBotThePony Date: Thu, 13 Jan 2022 15:12:17 +0700 Subject: [PATCH] mark research dirty when un-researching, add onUnresearched --- .../ru/dbotthepony/mc/otm/android/AndroidResearch.java | 7 +++++++ .../dbotthepony/mc/otm/android/AndroidResearchBuilder.java | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/src/main/java/ru/dbotthepony/mc/otm/android/AndroidResearch.java b/src/main/java/ru/dbotthepony/mc/otm/android/AndroidResearch.java index 8044a902d..50808e7d1 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/android/AndroidResearch.java +++ b/src/main/java/ru/dbotthepony/mc/otm/android/AndroidResearch.java @@ -27,7 +27,12 @@ public abstract class AndroidResearch implements INBTSerializable { } public void unResearch() { + if (!researched) + return; + researched = false; + onUnresearched(); + markDirty(); } public AndroidResearch(AndroidResearchType type, AndroidCapabilityPlayer capability) { @@ -51,6 +56,8 @@ public abstract class AndroidResearch implements INBTSerializable { * Should *only* refund research cost to host, not reverse its effects */ abstract public void refund(); + abstract public void onUnresearched(); + abstract public void onResearched(); abstract public void consumeCost(); abstract public boolean canAfford(); diff --git a/src/main/java/ru/dbotthepony/mc/otm/android/AndroidResearchBuilder.java b/src/main/java/ru/dbotthepony/mc/otm/android/AndroidResearchBuilder.java index 236845315..c93409ede 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/android/AndroidResearchBuilder.java +++ b/src/main/java/ru/dbotthepony/mc/otm/android/AndroidResearchBuilder.java @@ -300,6 +300,11 @@ public class AndroidResearchBuilder { } } + @Override + public void onUnresearched() { + + } + @Override public boolean canAfford() { if (capability.ply.experienceLevel < experience)