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.ServerChatHelper
|
||||
import civilengineering.command.BridgeCommand
|
||||
import civilengineering.eventhandlers.AdvancementEventHandler
|
||||
import civilengineering.eventhandlers.ChatMessageHandler
|
||||
import civilengineering.eventhandlers.DeathEventHandler
|
||||
import civilengineering.eventhandlers.CommandEventHandler
|
||||
import net.minecraft.advancements.Advancement
|
||||
import net.minecraftforge.common.MinecraftForge
|
||||
import net.minecraftforge.fml.common.Mod
|
||||
import net.minecraftforge.fml.common.event.*
|
||||
|
@ -49,12 +51,6 @@ object CivilEngineering {
|
|||
CivilEngineeringConfig(event.modConfigurationDirectory)
|
||||
}
|
||||
|
||||
@Mod.EventHandler
|
||||
fun postInit(event: FMLPostInitializationEvent) {
|
||||
// MinecraftForge.EVENT_BUS.register(ServerChatHelper::class.java)
|
||||
|
||||
}
|
||||
|
||||
@Mod.EventHandler
|
||||
fun serverStarting(event: FMLServerStartingEvent) {
|
||||
logger.debug("Registering bridge commands")
|
||||
|
@ -66,10 +62,13 @@ object CivilEngineering {
|
|||
MinecraftForge.EVENT_BUS.register(ChatMessageHandler())
|
||||
MinecraftForge.EVENT_BUS.register(DeathEventHandler())
|
||||
MinecraftForge.EVENT_BUS.register(CommandEventHandler())
|
||||
MinecraftForge.EVENT_BUS.register(AdvancementEventHandler())
|
||||
}
|
||||
|
||||
@Mod.EventHandler
|
||||
fun serverStopping(event: FMLServerStoppingEvent) {
|
||||
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