Add ConsumeResearchCost event

This commit is contained in:
DBotThePony 2023-06-20 21:43:03 +07:00
parent a518c98999
commit c40375d607
Signed by: DBot
GPG Key ID: DCC23B5715498507

View File

@ -45,6 +45,12 @@ class AndroidResearch(val type: AndroidResearchType, val capability: MatteryPlay
*/
data class GatherTooltipsEvent(val research: AndroidResearch, val tooltips: MutableList<Component>) : Event()
/**
* Fired on main event bus [MinecraftForge.EVENT_BUS]
*/
@HasResult
data class ConsumeResearchCost(val research: AndroidResearch, val isSimulating: Boolean) : Event()
val ply: Player get() = capability.ply
val synchronizer = FieldSynchronizer()
@ -100,6 +106,15 @@ class AndroidResearch(val type: AndroidResearchType, val capability: MatteryPlay
return true
}
val event = ConsumeResearchCost(this, simulate)
MinecraftForge.EVENT_BUS.post(event)
if (event.result == Event.Result.ALLOW) {
return true
} else if (event.result == Event.Result.DENY) {
return false
}
if (!simulate && !consumeResearchCost(true)) {
return false
}