Implement advancement relaying
This commit is contained in:
parent
bd91a381cd
commit
c2aa8cb143
|
@ -3,9 +3,11 @@ package civilengineering
|
||||||
import civilengineering.bridge.MessageHandler
|
import civilengineering.bridge.MessageHandler
|
||||||
import civilengineering.bridge.ServerChatHelper
|
import civilengineering.bridge.ServerChatHelper
|
||||||
import civilengineering.command.BridgeCommand
|
import civilengineering.command.BridgeCommand
|
||||||
|
import civilengineering.eventhandlers.AdvancementEventHandler
|
||||||
import civilengineering.eventhandlers.ChatMessageHandler
|
import civilengineering.eventhandlers.ChatMessageHandler
|
||||||
import civilengineering.eventhandlers.DeathEventHandler
|
import civilengineering.eventhandlers.DeathEventHandler
|
||||||
import civilengineering.eventhandlers.CommandEventHandler
|
import civilengineering.eventhandlers.CommandEventHandler
|
||||||
|
import net.minecraft.advancements.Advancement
|
||||||
import net.minecraftforge.common.MinecraftForge
|
import net.minecraftforge.common.MinecraftForge
|
||||||
import net.minecraftforge.fml.common.Mod
|
import net.minecraftforge.fml.common.Mod
|
||||||
import net.minecraftforge.fml.common.event.*
|
import net.minecraftforge.fml.common.event.*
|
||||||
|
@ -49,12 +51,6 @@ object CivilEngineering {
|
||||||
CivilEngineeringConfig(event.modConfigurationDirectory)
|
CivilEngineeringConfig(event.modConfigurationDirectory)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Mod.EventHandler
|
|
||||||
fun postInit(event: FMLPostInitializationEvent) {
|
|
||||||
// MinecraftForge.EVENT_BUS.register(ServerChatHelper::class.java)
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Mod.EventHandler
|
@Mod.EventHandler
|
||||||
fun serverStarting(event: FMLServerStartingEvent) {
|
fun serverStarting(event: FMLServerStartingEvent) {
|
||||||
logger.debug("Registering bridge commands")
|
logger.debug("Registering bridge commands")
|
||||||
|
@ -66,10 +62,13 @@ object CivilEngineering {
|
||||||
MinecraftForge.EVENT_BUS.register(ChatMessageHandler())
|
MinecraftForge.EVENT_BUS.register(ChatMessageHandler())
|
||||||
MinecraftForge.EVENT_BUS.register(DeathEventHandler())
|
MinecraftForge.EVENT_BUS.register(DeathEventHandler())
|
||||||
MinecraftForge.EVENT_BUS.register(CommandEventHandler())
|
MinecraftForge.EVENT_BUS.register(CommandEventHandler())
|
||||||
|
MinecraftForge.EVENT_BUS.register(AdvancementEventHandler())
|
||||||
}
|
}
|
||||||
|
|
||||||
@Mod.EventHandler
|
@Mod.EventHandler
|
||||||
fun serverStopping(event: FMLServerStoppingEvent) {
|
fun serverStopping(event: FMLServerStoppingEvent) {
|
||||||
MessageHandler.stop()
|
MessageHandler.stop()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
package civilengineering.eventhandlers
|
||||||
|
|
||||||
|
import civilengineering.CivilEngineering
|
||||||
|
import civilengineering.CivilEngineeringConfig
|
||||||
|
import civilengineering.bridge.ApiMessage
|
||||||
|
import civilengineering.bridge.MessageHandler
|
||||||
|
import civilengineering.cfg
|
||||||
|
import net.minecraftforge.event.entity.player.AdvancementEvent
|
||||||
|
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
|
||||||
|
|
||||||
|
class AdvancementEventHandler {
|
||||||
|
@SubscribeEvent
|
||||||
|
fun handleAdvancements(event: AdvancementEvent) {
|
||||||
|
if(cfg!!.relay.advancements && event.advancement.display != null) {
|
||||||
|
val zwsp: Char = '\u200B'
|
||||||
|
var player: String = event.entityPlayer.name
|
||||||
|
player = player[0].toString()+zwsp+player.substring(1) //antiping
|
||||||
|
//toString is necessary, otherwise the JVM thinks we're trying to do integer addition
|
||||||
|
MessageHandler.transmit(ApiMessage("Server",player+" has earned the advancement "+event.advancement.displayText.unformattedText))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue