blob: d463e41e3457ca57d3d097a8cfcf6d1c0460d316 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
package space.autistic.radio
import com.mojang.serialization.Codec
import net.fabricmc.api.ModInitializer
import net.fabricmc.fabric.api.event.registry.DynamicRegistries
import net.fabricmc.fabric.api.networking.v1.PayloadTypeRegistry
import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking
import net.minecraft.item.ItemStack
import net.minecraft.registry.Registry
import net.minecraft.registry.RegistryKey
import net.minecraft.text.Text
import net.minecraft.util.Identifier
import org.slf4j.LoggerFactory
import space.autistic.radio.antenna.Antenna
import space.autistic.radio.antenna.PirateRadioAntennaSerializers
import space.autistic.radio.network.StorageCardUpdateC2SPayload
import kotlin.math.max
import kotlin.math.min
object PirateRadio : ModInitializer {
var proxy: SidedProxy? = null
const val MOD_ID = "pirate-radio"
val logger = LoggerFactory.getLogger(MOD_ID)
override fun onInitialize() {
if (proxy == null) {
proxy = CommonProxy()
}
logger.info(
"This project is made with love by a queer trans person.\n" +
"The folks of these identities who have contributed to the project would like to make their identities known:\n" +
"Autgender; Not a person; Anticapitalist; Genderqueer; Trans."
)
PirateRadioRegistries.initialize()
PirateRadioAntennaSerializers.initialize()
DynamicRegistries.registerSynced(PirateRadioRegistryKeys.ANTENNA, Antenna.CODEC)
PayloadTypeRegistry.playC2S()
.register(StorageCardUpdateC2SPayload.PAYLOAD_ID, StorageCardUpdateC2SPayload.CODEC)
ServerPlayNetworking.registerGlobalReceiver(StorageCardUpdateC2SPayload.PAYLOAD_ID) { payload, context ->
if (!context.player().isAlive) {
return@registerGlobalReceiver
}
val stack = context.player().inventory.getStack(payload.slot)
if (stack.isOf(PirateRadioItems.STORAGE_CARD)) {
stack.set(PirateRadioComponents.FREQUENCY, min(1080, max(768, payload.frequency)))
var text = payload.text
if (text.length > 16384) {
text = text.substring(0, 16384)
}
stack.set(PirateRadioComponents.MESSAGE, Text.literal(text))
}
}
PirateRadioComponents.initialize()
PirateRadioItems.initialize()
PirateRadioEntityTypes.initialize()
}
}
|