Register event listeners directly
This commit is contained in:
parent
8f2f599f38
commit
3771b20563
@ -2,8 +2,10 @@ package ru.dbotthepony.mc.otm;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.item.CreativeModeTab;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.level.block.entity.BlockEntity;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.eventbus.api.EventPriority;
|
||||
import net.minecraftforge.fml.ModList;
|
||||
@ -15,10 +17,9 @@ import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import ru.dbotthepony.mc.otm.block.entity.blackhole.ExplosionQueue;
|
||||
import ru.dbotthepony.mc.otm.capability.MatteryPlayerCapability;
|
||||
import ru.dbotthepony.mc.otm.capability.MatteryCapability;
|
||||
import ru.dbotthepony.mc.otm.capability.drive.DrivePool;
|
||||
import ru.dbotthepony.mc.otm.client.ClientEventHandler;
|
||||
import ru.dbotthepony.mc.otm.client.MatteryGUI;
|
||||
import ru.dbotthepony.mc.otm.client.EventHandlerKt;
|
||||
import ru.dbotthepony.mc.otm.client.model.GravitationStabilizerModel;
|
||||
import ru.dbotthepony.mc.otm.client.model.TritaniumArmorModel;
|
||||
import ru.dbotthepony.mc.otm.compat.mekanism.QIOKt;
|
||||
@ -34,6 +35,8 @@ import ru.dbotthepony.mc.otm.registry.*;
|
||||
import ru.dbotthepony.mc.otm.storage.*;
|
||||
import ru.dbotthepony.mc.otm.worldgen.OreGen;
|
||||
|
||||
import static net.minecraftforge.common.MinecraftForge.EVENT_BUS;
|
||||
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
// The value here should match an entry in the META-INF/mods.toml file
|
||||
@ -77,31 +80,43 @@ public final class OverdriveThatMatters {
|
||||
|
||||
INSTANCE = this;
|
||||
|
||||
MRegistry.INSTANCE.initialize(FMLJavaModLoadingContext.get());
|
||||
var modBus = FMLJavaModLoadingContext.get().getModEventBus();
|
||||
|
||||
FMLJavaModLoadingContext.get().getModEventBus().addListener(EventPriority.HIGHEST, this::setup);
|
||||
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setupClient);
|
||||
MRegistry.INSTANCE.initialize(modBus);
|
||||
|
||||
MinecraftForge.EVENT_BUS.register(this);
|
||||
MinecraftForge.EVENT_BUS.register(GlobalEventHandlerKt.class);
|
||||
MinecraftForge.EVENT_BUS.register(MatteryPlayerCapability.Companion);
|
||||
MinecraftForge.EVENT_BUS.register(MatterRegistryKt.class);
|
||||
MinecraftForge.EVENT_BUS.register(MatterDataKt.class);
|
||||
MinecraftForge.EVENT_BUS.register(ExplosionQueue.Companion);
|
||||
MinecraftForge.EVENT_BUS.register(AbstractWeaponItem.Companion);
|
||||
MinecraftForge.EVENT_BUS.addListener(QuantumBatteryItem.Companion::tick);
|
||||
|
||||
FMLJavaModLoadingContext.get().getModEventBus().register(MatteryCapability.class);
|
||||
|
||||
FMLJavaModLoadingContext.get().getModEventBus().register(MRecipes.class);
|
||||
|
||||
MinecraftForge.EVENT_BUS.register(DrivePool.INSTANCE);
|
||||
MinecraftForge.EVENT_BUS.register(PortableCondensationDriveItem.Companion);
|
||||
|
||||
FMLJavaModLoadingContext.get().getModEventBus().addListener(MatteryPlayerCapability::registerEffects);
|
||||
modBus.addListener(EventPriority.HIGHEST, this::setup);
|
||||
modBus.addListener(EventPriority.NORMAL, this::setupClient);
|
||||
}
|
||||
|
||||
private void setup(final FMLCommonSetupEvent event) {
|
||||
EVENT_BUS.addListener(EventPriority.LOWEST, DrivePool.INSTANCE::onServerPostTick);
|
||||
EVENT_BUS.addListener(EventPriority.HIGHEST, DrivePool.INSTANCE::serverStopEvent);
|
||||
EVENT_BUS.addListener(EventPriority.HIGHEST, DrivePool.INSTANCE::serverStartEvent);
|
||||
EVENT_BUS.addListener(EventPriority.NORMAL, DrivePool.INSTANCE::onWorldSave);
|
||||
|
||||
EVENT_BUS.addListener(EventPriority.HIGHEST, GlobalEventHandlerKt::onServerStopped);
|
||||
EVENT_BUS.addListener(EventPriority.HIGHEST, GlobalEventHandlerKt::onServerStopping);
|
||||
EVENT_BUS.addListener(EventPriority.HIGHEST, GlobalEventHandlerKt::onServerStarting);
|
||||
EVENT_BUS.addListener(EventPriority.LOWEST, GlobalEventHandlerKt::onWorldTick);
|
||||
EVENT_BUS.addListener(EventPriority.LOWEST, GlobalEventHandlerKt::onServerTick);
|
||||
|
||||
EVENT_BUS.addListener(EventPriority.NORMAL, MatteryPlayerCapability.Companion::onLivingTick);
|
||||
EVENT_BUS.addListener(EventPriority.NORMAL, MatteryPlayerCapability.Companion::onHurtEvent);
|
||||
EVENT_BUS.addGenericListener(Entity.class, EventPriority.NORMAL, MatteryPlayerCapability.Companion::onAttachCapabilityEvent);
|
||||
EVENT_BUS.addListener(EventPriority.NORMAL, MatteryPlayerCapability.Companion::onPlayerChangeDimensionEvent);
|
||||
EVENT_BUS.addListener(EventPriority.LOWEST, MatteryPlayerCapability.Companion::onPlayerDeath);
|
||||
EVENT_BUS.addListener(EventPriority.NORMAL, MatteryPlayerCapability.Companion::onPlayerCloneEvent);
|
||||
EVENT_BUS.addListener(EventPriority.LOW, MatteryPlayerCapability.Companion::onPickupEvent);
|
||||
|
||||
EVENT_BUS.addListener(EventPriority.LOW, MatterDataKt::serverStartData);
|
||||
EVENT_BUS.addListener(EventPriority.NORMAL, MatterRegistryKt::onPlayerJoin);
|
||||
EVENT_BUS.addListener(EventPriority.NORMAL, ExplosionQueue.Companion::onWorldTick);
|
||||
EVENT_BUS.addListener(EventPriority.NORMAL, AbstractWeaponItem.Companion::tick);
|
||||
EVENT_BUS.addListener(EventPriority.NORMAL, QuantumBatteryItem.Companion::tick);
|
||||
EVENT_BUS.addListener(EventPriority.LOWEST, PortableCondensationDriveItem.Companion::onPickupEvent);
|
||||
|
||||
MatteryPlayerCapability.Companion.registerEffects(event);
|
||||
|
||||
MatteryPlayerNetworkChannel.INSTANCE.register();
|
||||
MenuNetworkChannel.INSTANCE.register();
|
||||
WeaponNetworkChannel.INSTANCE.register();
|
||||
@ -112,16 +127,31 @@ public final class OverdriveThatMatters {
|
||||
ITEM_STORAGE = StorageRegistry.register(ItemStackWrapper.class, ItemStackWrapper.EMPTY, new ImpreciseFraction("3.125"));
|
||||
|
||||
if (ModList.get().isLoaded("mekanism")) {
|
||||
MinecraftForge.EVENT_BUS.register(QIOKt.class);
|
||||
MinecraftForge.EVENT_BUS.register(TooltipsKt.class);
|
||||
EVENT_BUS.addGenericListener(BlockEntity.class, EventPriority.NORMAL, QIOKt::attachCapabilities);
|
||||
}
|
||||
|
||||
OreGen.INSTANCE.register();
|
||||
}
|
||||
|
||||
private void setupClient(final FMLClientSetupEvent event) {
|
||||
MinecraftForge.EVENT_BUS.register(MatteryGUI.INSTANCE);
|
||||
MinecraftForge.EVENT_BUS.register(EventHandlerKt.class);
|
||||
EVENT_BUS.addListener(EventPriority.NORMAL, MatterRegistryKt::tooltipEvent);
|
||||
|
||||
EVENT_BUS.addListener(EventPriority.NORMAL, AbstractWeaponItem.Companion::playerRenderHook);
|
||||
EVENT_BUS.addListener(EventPriority.NORMAL, AbstractWeaponItem.Companion::fovHook);
|
||||
EVENT_BUS.addListener(EventPriority.NORMAL, AbstractWeaponItem.Companion::clickHook);
|
||||
EVENT_BUS.addListener(EventPriority.NORMAL, AbstractWeaponItem.Companion::renderViewModel);
|
||||
|
||||
EVENT_BUS.addListener(EventPriority.NORMAL, MatteryGUI.INSTANCE::onScreenRender);
|
||||
EVENT_BUS.addListener(EventPriority.LOWEST, MatteryGUI.INSTANCE::onOpenGUIEvent);
|
||||
EVENT_BUS.addListener(EventPriority.NORMAL, MatteryGUI.INSTANCE::onRenderGuiEvent);
|
||||
EVENT_BUS.addListener(EventPriority.HIGH, MatteryGUI.INSTANCE::onLayerRenderEvent);
|
||||
|
||||
EVENT_BUS.addListener(EventPriority.NORMAL, ClientEventHandler.INSTANCE::inputEvent);
|
||||
EVENT_BUS.addListener(EventPriority.NORMAL, ClientEventHandler.INSTANCE::screenOpen);
|
||||
|
||||
if (ModList.get().isLoaded("mekanism")) {
|
||||
EVENT_BUS.addListener(EventPriority.NORMAL, TooltipsKt::tooltipEvent);
|
||||
}
|
||||
|
||||
event.enqueueWork(GlobalEventHandlerKt::recordClientThread);
|
||||
|
||||
|
@ -49,16 +49,4 @@ public class MatteryCapability {
|
||||
@Nonnull
|
||||
@NotNull
|
||||
public static final Capability<IStrictEnergyHandler> MEKANISM_ENERGY = CapabilityManager.get(new CapabilityToken<>() {});
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public static void register(final RegisterCapabilitiesEvent event) {
|
||||
event.register(IMatteryEnergyStorage.class);
|
||||
event.register(MatteryPlayerCapability.class);
|
||||
event.register(IMatterHandler.class);
|
||||
event.register(IPatternStorage.class);
|
||||
event.register(IReplicationTaskProvider.class);
|
||||
event.register(IMatteryDrive.class);
|
||||
event.register(IStorageGraphNode.class);
|
||||
event.register(IMatterGraphNode.class);
|
||||
}
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.world.item.crafting.Recipe;
|
||||
import net.minecraft.world.item.crafting.RecipeSerializer;
|
||||
import net.minecraft.world.item.crafting.RecipeType;
|
||||
import net.minecraftforge.eventbus.api.IEventBus;
|
||||
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
|
||||
import net.minecraftforge.registries.DeferredRegister;
|
||||
import net.minecraftforge.registries.ForgeRegistries;
|
||||
@ -35,8 +36,8 @@ public class MRecipes {
|
||||
typesRegistry.register(MNames.PLATE_PRESS, () -> PLATE_PRESS);
|
||||
}
|
||||
|
||||
public static void register() {
|
||||
registry.register(FMLJavaModLoadingContext.get().getModEventBus());
|
||||
typesRegistry.register(FMLJavaModLoadingContext.get().getModEventBus());
|
||||
public static void register(IEventBus bus) {
|
||||
registry.register(bus);
|
||||
typesRegistry.register(bus);
|
||||
}
|
||||
}
|
||||
|
@ -180,7 +180,6 @@ interface IConditionalTickable : ITickable {
|
||||
val canTick: Boolean
|
||||
}
|
||||
|
||||
@SubscribeEvent(priority = EventPriority.LOWEST)
|
||||
fun onServerTick(event: ServerTickEvent) {
|
||||
if (event.phase === TickEvent.Phase.START) {
|
||||
preServerTickTimers.tick()
|
||||
@ -255,7 +254,6 @@ fun addPostServerTickerOnce(ticker: ITickable) {
|
||||
postServerTickOnce.add(ticker)
|
||||
}
|
||||
|
||||
@SubscribeEvent(priority = EventPriority.LOWEST)
|
||||
fun onWorldTick(event: LevelTickEvent) {
|
||||
if (event.phase === TickEvent.Phase.START) {
|
||||
val it = preWorldTick[event.level]
|
||||
@ -355,7 +353,6 @@ private fun clear() {
|
||||
postWorldTickOnce.clear()
|
||||
}
|
||||
|
||||
@SubscribeEvent(priority = EventPriority.HIGHEST)
|
||||
fun onServerStarting(event: ServerAboutToStartEvent) {
|
||||
clear()
|
||||
SERVER_IS_DYING = false
|
||||
@ -363,13 +360,11 @@ fun onServerStarting(event: ServerAboutToStartEvent) {
|
||||
_serverThread = Thread.currentThread()
|
||||
}
|
||||
|
||||
@SubscribeEvent(priority = EventPriority.HIGHEST)
|
||||
fun onServerStopping(event: ServerStoppingEvent) {
|
||||
clear()
|
||||
SERVER_IS_DYING = true
|
||||
}
|
||||
|
||||
@SubscribeEvent(priority = EventPriority.HIGHEST)
|
||||
fun onServerStopped(event: ServerStoppedEvent) {
|
||||
if (!SERVER_IS_DYING) {
|
||||
LOGGER.fatal("ServerStoppingEvent did not fire. If server has crashed this is normal. However, if server finished it's work 'gracefully' this is a bug.")
|
||||
|
@ -765,10 +765,8 @@ class MatteryPlayerCapability(val ply: Player) : ICapabilityProvider, IMatteryEn
|
||||
|
||||
@Suppress("unused")
|
||||
companion object {
|
||||
@JvmField
|
||||
val UNAFFECTED_EFFECTS = ObjectArraySet<MobEffect>()
|
||||
|
||||
@JvmStatic
|
||||
fun registerEffects(event: FMLCommonSetupEvent) {
|
||||
UNAFFECTED_EFFECTS.add(MobEffects.CONDUIT_POWER)
|
||||
UNAFFECTED_EFFECTS.add(MobEffects.HEAL)
|
||||
@ -785,7 +783,6 @@ class MatteryPlayerCapability(val ply: Player) : ICapabilityProvider, IMatteryEn
|
||||
UNAFFECTED_EFFECTS.add(MobEffects.DOLPHINS_GRACE)
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
fun onLivingTick(event: LivingTickEvent) {
|
||||
val ent = event.entity
|
||||
|
||||
@ -800,7 +797,6 @@ class MatteryPlayerCapability(val ply: Player) : ICapabilityProvider, IMatteryEn
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent(priority = EventPriority.LOWEST)
|
||||
fun onHurtEvent(event: LivingHurtEvent) {
|
||||
if (event.isCanceled) {
|
||||
return
|
||||
@ -812,8 +808,7 @@ class MatteryPlayerCapability(val ply: Player) : ICapabilityProvider, IMatteryEn
|
||||
const val CAPABILITY_KEY = "otm_player"
|
||||
val CAPABILITY_LOCATION = ResourceLocation(OverdriveThatMatters.MOD_ID, CAPABILITY_KEY)
|
||||
|
||||
@SubscribeEvent
|
||||
fun onAttachCapabilityEvent(event: AttachCapabilitiesEvent<Entity?>) {
|
||||
fun onAttachCapabilityEvent(event: AttachCapabilitiesEvent<Entity>) {
|
||||
val ent = event.`object`
|
||||
|
||||
if (ent is Player) {
|
||||
@ -821,18 +816,12 @@ class MatteryPlayerCapability(val ply: Player) : ICapabilityProvider, IMatteryEn
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
fun onPlayerChangeDimensionEvent(event: PlayerEvent.PlayerChangedDimensionEvent) {
|
||||
event.entity.getCapability(MatteryCapability.MATTERY_PLAYER)
|
||||
.ifPresentK { it.invalidateNetworkState() }
|
||||
}
|
||||
|
||||
@SubscribeEvent(priority = EventPriority.LOWEST)
|
||||
fun onPlayerDeath(event: LivingDeathEvent) {
|
||||
if (event.isCanceled) {
|
||||
return
|
||||
}
|
||||
|
||||
val ply = event.entity as? Player ?: return
|
||||
val mattery = ply.matteryPlayer ?: return
|
||||
|
||||
@ -859,7 +848,6 @@ class MatteryPlayerCapability(val ply: Player) : ICapabilityProvider, IMatteryEn
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
fun onPlayerCloneEvent(event: PlayerEvent.Clone) {
|
||||
val it = event.entity.matteryPlayer ?: return
|
||||
|
||||
@ -892,7 +880,6 @@ class MatteryPlayerCapability(val ply: Player) : ICapabilityProvider, IMatteryEn
|
||||
|
||||
private val itemPickupTicks = WeakHashMap<Player, WeakHashMap<ItemEntity, MutableInt>>()
|
||||
|
||||
@SubscribeEvent(priority = EventPriority.LOW)
|
||||
fun onPickupEvent(event: EntityItemPickupEvent) {
|
||||
if (event.item.owner != null && event.item.owner != event.entity.uuid && event.item.age < 200 || event.item.item.isEmpty) {
|
||||
return
|
||||
|
@ -36,7 +36,6 @@ import java.util.ArrayList
|
||||
* 5. Mods which check items for being stack-able even with stack size of 1 gonna compare nbt tag,
|
||||
* which will be performance tanking due to clause 1.
|
||||
*/
|
||||
@Suppress("unused")
|
||||
object DrivePool {
|
||||
private val LOGGER = LogManager.getLogger()
|
||||
private val pool = Object2ObjectAVLTreeMap<UUID, WeakDriveReference>()
|
||||
@ -130,7 +129,6 @@ object DrivePool {
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent(priority = EventPriority.LOWEST)
|
||||
fun onServerPostTick(event: ServerTickEvent) {
|
||||
if (event.phase == TickEvent.Phase.END) {
|
||||
if (exception != null) {
|
||||
@ -152,7 +150,6 @@ object DrivePool {
|
||||
return Thread.currentThread() === serverThread
|
||||
}
|
||||
|
||||
@SubscribeEvent(priority = EventPriority.HIGHEST)
|
||||
fun serverStartEvent(event: ServerAboutToStartEvent) {
|
||||
if (thread?.isAlive == true) {
|
||||
LOGGER.error("FMLServerStartedEvent fired twice.")
|
||||
@ -172,7 +169,6 @@ object DrivePool {
|
||||
thread = Thread(null, this::thread, "Overdrive That Matters DrivePool IO").also { it.start() }
|
||||
}
|
||||
|
||||
@SubscribeEvent(priority = EventPriority.HIGHEST)
|
||||
fun serverStopEvent(event: ServerStoppingEvent) {
|
||||
val thread = thread
|
||||
|
||||
@ -189,7 +185,6 @@ object DrivePool {
|
||||
pool.clear()
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
fun onWorldSave(event: LevelEvent.Save) {
|
||||
writeBacklog()
|
||||
}
|
||||
|
@ -0,0 +1,53 @@
|
||||
package ru.dbotthepony.mc.otm.client
|
||||
|
||||
import net.minecraft.client.gui.screens.inventory.InventoryScreen
|
||||
import net.minecraftforge.client.event.MovementInputUpdateEvent
|
||||
import net.minecraftforge.client.event.ScreenEvent
|
||||
import ru.dbotthepony.mc.otm.capability.matteryPlayer
|
||||
import ru.dbotthepony.mc.otm.client.screen.ExoSuitInventoryScreen
|
||||
import ru.dbotthepony.mc.otm.registry.AndroidFeatures
|
||||
|
||||
object ClientEventHandler {
|
||||
fun inputEvent(event: MovementInputUpdateEvent) {
|
||||
val ply = event.entity
|
||||
val input = event.input
|
||||
|
||||
val cap = ply.matteryPlayer ?: return
|
||||
|
||||
if (cap.hasFeature(AndroidFeatures.AIR_BAGS))
|
||||
return
|
||||
|
||||
if (ply.abilities.mayfly) {
|
||||
cap.lastJumpTicks = 14
|
||||
} else {
|
||||
if (ply.isInWater) {
|
||||
if (ply.isOnGround) {
|
||||
cap.lastJumpTicks = 14
|
||||
}
|
||||
|
||||
if (ply.isSwimming) {
|
||||
ply.isSwimming = false
|
||||
}
|
||||
|
||||
if (cap.lastJumpTicks <= 0) {
|
||||
input.jumping = false
|
||||
input.up = false
|
||||
} else {
|
||||
cap.lastJumpTicks--
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun screenOpen(event: ScreenEvent.Opening) {
|
||||
if (minecraft.player?.isCreative == true) {
|
||||
return
|
||||
}
|
||||
|
||||
val player = minecraft.player?.matteryPlayer ?: return
|
||||
|
||||
if (player.hasExoSuit && event.newScreen is InventoryScreen) {
|
||||
event.newScreen = ExoSuitInventoryScreen(player.exoSuitMenu)
|
||||
}
|
||||
}
|
||||
}
|
@ -1,56 +0,0 @@
|
||||
package ru.dbotthepony.mc.otm.client
|
||||
|
||||
import net.minecraft.client.gui.screens.inventory.InventoryScreen
|
||||
import net.minecraftforge.client.event.MovementInputUpdateEvent
|
||||
import net.minecraftforge.client.event.ScreenEvent
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent
|
||||
import ru.dbotthepony.mc.otm.capability.matteryPlayer
|
||||
import ru.dbotthepony.mc.otm.client.screen.ExoSuitInventoryScreen
|
||||
import ru.dbotthepony.mc.otm.registry.AndroidFeatures
|
||||
|
||||
@SubscribeEvent
|
||||
@Suppress("unused")
|
||||
fun inputEvent(event: MovementInputUpdateEvent) {
|
||||
val ply = event.entity
|
||||
val input = event.input
|
||||
|
||||
val cap = ply.matteryPlayer ?: return
|
||||
|
||||
if (cap.hasFeature(AndroidFeatures.AIR_BAGS))
|
||||
return
|
||||
|
||||
if (ply.abilities.mayfly) {
|
||||
cap.lastJumpTicks = 14
|
||||
} else {
|
||||
if (ply.isInWater) {
|
||||
if (ply.isOnGround) {
|
||||
cap.lastJumpTicks = 14
|
||||
}
|
||||
|
||||
if (ply.isSwimming) {
|
||||
ply.isSwimming = false
|
||||
}
|
||||
|
||||
if (cap.lastJumpTicks <= 0) {
|
||||
input.jumping = false
|
||||
input.up = false
|
||||
} else {
|
||||
cap.lastJumpTicks--
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
@Suppress("unused")
|
||||
fun screenOpen(event: ScreenEvent.Opening) {
|
||||
if (minecraft.player?.isCreative == true) {
|
||||
return
|
||||
}
|
||||
|
||||
val player = minecraft.player?.matteryPlayer ?: return
|
||||
|
||||
if (player.hasExoSuit && event.newScreen is InventoryScreen) {
|
||||
event.newScreen = ExoSuitInventoryScreen(player.exoSuitMenu)
|
||||
}
|
||||
}
|
@ -39,8 +39,6 @@ object MatteryGUI {
|
||||
|
||||
private val button_shaker = Random()
|
||||
|
||||
@SubscribeEvent
|
||||
@Suppress("unused")
|
||||
fun onScreenRender(event: ScreenEvent.Render.Pre) {
|
||||
if (knownButtonScreen != null && knownButton == null) {
|
||||
for (widget in knownButtonScreen!!.renderables) {
|
||||
@ -87,8 +85,6 @@ object MatteryGUI {
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent(priority = EventPriority.LOWEST)
|
||||
@Suppress("unused")
|
||||
fun onOpenGUIEvent(event: ScreenEvent.Opening) {
|
||||
knownButtonX = -1
|
||||
knownButtonY = -1
|
||||
@ -198,14 +194,10 @@ object MatteryGUI {
|
||||
popScissorRect()
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
@Suppress("unused")
|
||||
fun onRenderGuiEvent(event: RenderGuiEvent.Post) {
|
||||
showIteration(event)
|
||||
}
|
||||
|
||||
@SubscribeEvent(priority = EventPriority.HIGH)
|
||||
@Suppress("unused")
|
||||
fun onLayerRenderEvent(event: RenderGuiOverlayEvent.Pre) {
|
||||
if (event.overlay != FOOD_LEVEL_ELEMENT && event.overlay != AIR_LEVEL_ELEMENT) {
|
||||
return
|
||||
|
@ -9,8 +9,6 @@ import ru.dbotthepony.mc.otm.capability.isMekanismLoaded
|
||||
|
||||
private val BLACKHOLE_IMMUNITY = TranslatableComponent("otm.item.blackhole_immunity").withStyle(ChatFormatting.DARK_GRAY)
|
||||
|
||||
@SubscribeEvent
|
||||
@Suppress("unused")
|
||||
fun tooltipEvent(event: ItemTooltipEvent) {
|
||||
if (!isMekanismLoaded) {
|
||||
throw IllegalStateException("Mekanism is not loaded!")
|
||||
|
@ -100,7 +100,6 @@ class PortableCondensationDriveItem(capacity: Int) :
|
||||
const val MAX_FILTERS = 4 * 3
|
||||
const val FILTER_PATH = "filter"
|
||||
|
||||
@SubscribeEvent(priority = EventPriority.LOWEST)
|
||||
fun onPickupEvent(event: EntityItemPickupEvent) {
|
||||
if (event.item.owner != null && event.item.owner != event.entity.uuid && event.item.age < 200 || event.item.item.isEmpty) {
|
||||
return
|
||||
|
@ -18,7 +18,6 @@ import net.minecraftforge.client.event.RenderHandEvent
|
||||
import net.minecraftforge.client.event.RenderPlayerEvent
|
||||
import net.minecraftforge.client.event.ViewportEvent
|
||||
import net.minecraftforge.event.TickEvent
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent
|
||||
import net.minecraftforge.fml.LogicalSide
|
||||
import net.minecraftforge.network.NetworkEvent
|
||||
import ru.dbotthepony.mc.otm.*
|
||||
@ -276,8 +275,6 @@ abstract class AbstractWeaponItem<D : WeaponDataTable>(val tables: KClass<D>, ra
|
||||
private var lastFov = 1.0
|
||||
private var lastFovTime = 0L
|
||||
|
||||
@SubscribeEvent
|
||||
@Suppress("unused")
|
||||
fun fovHook(event: ViewportEvent.ComputeFov) {
|
||||
val player = event.camera.entity as? Player ?: return
|
||||
|
||||
@ -309,8 +306,6 @@ abstract class AbstractWeaponItem<D : WeaponDataTable>(val tables: KClass<D>, ra
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
@Suppress("unused")
|
||||
fun playerRenderHook(event: RenderPlayerEvent.Pre) {
|
||||
if (event.entity.mainHandItem.item is AbstractWeaponItem<*> && event.entity.offhandItem.isEmpty) {
|
||||
event.renderer.model.rightArmPose = HumanoidModel.ArmPose.BOW_AND_ARROW
|
||||
@ -318,8 +313,6 @@ abstract class AbstractWeaponItem<D : WeaponDataTable>(val tables: KClass<D>, ra
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
@Suppress("unused")
|
||||
fun clickHook(event: InputEvent.InteractionKeyMappingTriggered) {
|
||||
val player = Minecraft.getInstance().player!!
|
||||
|
||||
@ -352,8 +345,7 @@ abstract class AbstractWeaponItem<D : WeaponDataTable>(val tables: KClass<D>, ra
|
||||
0.6,
|
||||
)
|
||||
|
||||
@SubscribeEvent
|
||||
@Suppress("unused", "unchecked_cast")
|
||||
@Suppress("unchecked_cast")
|
||||
fun renderViewModel(event: RenderHandEvent) {
|
||||
if (inRender) {
|
||||
return
|
||||
@ -523,8 +515,7 @@ abstract class AbstractWeaponItem<D : WeaponDataTable>(val tables: KClass<D>, ra
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
@Suppress("unused", "unchecked_cast")
|
||||
@Suppress("unchecked_cast")
|
||||
fun tick(event: TickEvent.PlayerTickEvent) {
|
||||
if (event.phase != TickEvent.Phase.START)
|
||||
return
|
||||
|
@ -143,8 +143,6 @@ private enum class ResultType {
|
||||
|
||||
private data class Result(val type: ResultType = ResultType.UNKNOWN_VALUE, val tuple: MatterTuple? = null)
|
||||
|
||||
@SubscribeEvent
|
||||
@Suppress("unused")
|
||||
fun serverStartData(event: ServerStartedEvent) {
|
||||
rootEntriesAccess.clear()
|
||||
derivedEntriesAccess.clear()
|
||||
|
@ -9,7 +9,6 @@ import net.minecraft.world.item.Item
|
||||
import net.minecraft.world.item.ItemStack
|
||||
import net.minecraftforge.event.entity.player.ItemTooltipEvent
|
||||
import net.minecraftforge.event.entity.player.PlayerEvent
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent
|
||||
import net.minecraftforge.network.NetworkEvent
|
||||
import net.minecraftforge.network.PacketDistributor
|
||||
import org.lwjgl.glfw.GLFW
|
||||
@ -213,8 +212,6 @@ fun getMatterValue(stack: ItemStack): MatterTuple {
|
||||
return getMatterValue(stack, 0)
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
@Suppress("unused")
|
||||
fun onPlayerJoin(event: PlayerEvent.PlayerLoggedInEvent) {
|
||||
if (NULLABLE_MINECRAFT_SERVER != null) {
|
||||
RegistryNetworkChannel.send(PacketDistributor.PLAYER.with { event.entity as ServerPlayer }, RegistryPacketFullUpdate(MatterRegistryType.ROOT, rootEntries))
|
||||
@ -222,8 +219,6 @@ fun onPlayerJoin(event: PlayerEvent.PlayerLoggedInEvent) {
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
@Suppress("unused")
|
||||
fun tooltipEvent(event: ItemTooltipEvent) {
|
||||
val window = Minecraft.getInstance().window.window
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.registry
|
||||
|
||||
import net.minecraftforge.eventbus.api.IEventBus
|
||||
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext
|
||||
import net.minecraftforge.registries.DeferredRegister
|
||||
import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
||||
@ -18,7 +19,7 @@ object AndroidFeatures {
|
||||
val NANOBOTS_ARMOR: AndroidFeatureType<*> by registry.register(MNames.NANOBOTS_ARMOR) { AndroidFeatureType(::NanobotsArmor) }
|
||||
val EXTENDED_REACH: AndroidFeatureType<*> by registry.register(MNames.EXTENDED_REACH) { AndroidFeatureType(::ExtendedReach) }
|
||||
|
||||
internal fun register() {
|
||||
registry.register(FMLJavaModLoadingContext.get().modEventBus)
|
||||
internal fun register(bus: IEventBus) {
|
||||
registry.register(bus)
|
||||
}
|
||||
}
|
||||
|
@ -4,6 +4,7 @@
|
||||
package ru.dbotthepony.mc.otm.registry
|
||||
|
||||
import net.minecraft.resources.ResourceLocation
|
||||
import net.minecraftforge.eventbus.api.IEventBus
|
||||
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext
|
||||
import net.minecraftforge.registries.DeferredRegister
|
||||
import net.minecraftforge.registries.RegistryObject
|
||||
@ -76,8 +77,8 @@ object AndroidResearch {
|
||||
|
||||
private val registry = DeferredRegister.create(MRegistry.ANDROID_RESEARCH_KEY, OverdriveThatMatters.MOD_ID)
|
||||
|
||||
internal fun register() {
|
||||
registry.register(FMLJavaModLoadingContext.get().modEventBus)
|
||||
internal fun register(bus: IEventBus) {
|
||||
registry.register(bus)
|
||||
}
|
||||
|
||||
val AIR_BAGS: AndroidResearchType<*> by registry.register(MNames.AIR_BAGS) {
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.registry
|
||||
|
||||
import net.minecraftforge.eventbus.api.IEventBus
|
||||
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext
|
||||
import net.minecraftforge.registries.DeferredRegister
|
||||
import net.minecraftforge.registries.ForgeRegistries
|
||||
@ -15,7 +16,7 @@ object LootModifiers {
|
||||
registry.register("loot_appender_basic") { LootTableBasicAppender.CODEC }
|
||||
}
|
||||
|
||||
internal fun register() {
|
||||
registry.register(FMLJavaModLoadingContext.get().modEventBus)
|
||||
internal fun register(bus: IEventBus) {
|
||||
registry.register(bus)
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package ru.dbotthepony.mc.otm.registry
|
||||
|
||||
import net.minecraft.client.renderer.blockentity.BlockEntityRenderers
|
||||
import net.minecraft.world.level.block.entity.BlockEntityType
|
||||
import net.minecraftforge.eventbus.api.IEventBus
|
||||
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent
|
||||
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext
|
||||
import net.minecraftforge.registries.DeferredRegister
|
||||
@ -53,9 +54,9 @@ object MBlockEntities {
|
||||
val DEBUG_EXPLOSION_SMALL: BlockEntityType<*> by registry.register(MNames.DEBUG_EXPLOSION_SMALL) { BlockEntityType.Builder.of(::BlockEntityExplosionDebugger, MBlocks.DEBUG_EXPLOSION_SMALL).build(null) }
|
||||
val DEBUG_SPHERE_POINTS: BlockEntityType<*> by registry.register(MNames.DEBUG_SPHERE_POINTS) { BlockEntityType.Builder.of(::BlockEntitySphereDebugger, MBlocks.DEBUG_SPHERE_POINTS).build(null) }
|
||||
|
||||
internal fun register() {
|
||||
registry.register(FMLJavaModLoadingContext.get().modEventBus)
|
||||
FMLJavaModLoadingContext.get().modEventBus.addListener(this::registerClient)
|
||||
internal fun register(bus: IEventBus) {
|
||||
registry.register(bus)
|
||||
bus.addListener(this::registerClient)
|
||||
}
|
||||
|
||||
@Suppress("unchecked_cast")
|
||||
|
@ -11,6 +11,7 @@ import net.minecraft.world.level.block.SoundType
|
||||
import net.minecraft.world.level.block.state.BlockBehaviour
|
||||
import net.minecraft.world.level.material.Material
|
||||
import net.minecraft.world.level.material.MaterialColor
|
||||
import net.minecraftforge.eventbus.api.IEventBus
|
||||
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent
|
||||
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext
|
||||
import net.minecraftforge.registries.DeferredRegister
|
||||
@ -24,9 +25,9 @@ import ru.dbotthepony.mc.otm.block.storage.*
|
||||
object MBlocks {
|
||||
private val registry = DeferredRegister.create(ForgeRegistries.BLOCKS, OverdriveThatMatters.MOD_ID)
|
||||
|
||||
internal fun register() {
|
||||
registry.register(FMLJavaModLoadingContext.get().modEventBus)
|
||||
FMLJavaModLoadingContext.get().modEventBus.addListener(this::registerClient)
|
||||
internal fun register(bus: IEventBus) {
|
||||
registry.register(bus)
|
||||
bus.addListener(this::registerClient)
|
||||
}
|
||||
|
||||
private fun registerClient(event: FMLClientSetupEvent) {
|
||||
|
@ -5,6 +5,7 @@ import net.minecraft.client.renderer.entity.EntityRenderers
|
||||
import net.minecraft.world.entity.Entity
|
||||
import net.minecraft.world.entity.EntityType
|
||||
import net.minecraft.world.entity.MobCategory
|
||||
import net.minecraftforge.eventbus.api.IEventBus
|
||||
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent
|
||||
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext
|
||||
import net.minecraftforge.registries.DeferredRegister
|
||||
@ -20,9 +21,9 @@ object MEntityTypes {
|
||||
EntityType.Builder.of<PlasmaProjectile>({ _, level -> PlasmaProjectile(level) }, MobCategory.MISC).sized(0.4f, 0.4f).build(MNames.PLASMA)
|
||||
}
|
||||
|
||||
internal fun register() {
|
||||
registry.register(FMLJavaModLoadingContext.get().modEventBus)
|
||||
FMLJavaModLoadingContext.get().modEventBus.addListener(this::registerClient)
|
||||
internal fun register(bus: IEventBus) {
|
||||
registry.register(bus)
|
||||
bus.addListener(this::registerClient)
|
||||
}
|
||||
|
||||
@Suppress("unchecked_cast")
|
||||
|
@ -10,6 +10,7 @@ import net.minecraft.world.item.*
|
||||
import net.minecraft.world.item.crafting.Ingredient
|
||||
import net.minecraft.world.level.Level
|
||||
import net.minecraftforge.common.ForgeTier
|
||||
import net.minecraftforge.eventbus.api.IEventBus
|
||||
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext
|
||||
import net.minecraftforge.registries.DeferredRegister
|
||||
import net.minecraftforge.registries.ForgeRegistries
|
||||
@ -24,8 +25,8 @@ object MItems {
|
||||
private val DEFAULT_PROPERTIES_DECORATIVE = Item.Properties().stacksTo(64).tab(OverdriveThatMatters.INSTANCE.CREATIVE_TAB_DECORATIVE)
|
||||
private val registry: DeferredRegister<Item> = DeferredRegister.create(ForgeRegistries.ITEMS, OverdriveThatMatters.MOD_ID)
|
||||
|
||||
internal fun register() {
|
||||
registry.register(FMLJavaModLoadingContext.get().modEventBus)
|
||||
internal fun register(bus: IEventBus) {
|
||||
registry.register(bus)
|
||||
}
|
||||
|
||||
val ANDROID_STATION: Item by registry.register(MNames.ANDROID_STATION) { BlockItem(MBlocks.ANDROID_STATION, DEFAULT_PROPERTIES) }
|
||||
|
@ -2,6 +2,7 @@ package ru.dbotthepony.mc.otm.registry
|
||||
|
||||
import net.minecraft.client.gui.screens.MenuScreens
|
||||
import net.minecraft.world.inventory.MenuType
|
||||
import net.minecraftforge.eventbus.api.IEventBus
|
||||
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent
|
||||
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext
|
||||
import net.minecraftforge.registries.DeferredRegister
|
||||
@ -36,9 +37,9 @@ object MMenus {
|
||||
val STORAGE_IMPORTER: MenuType<*> by registry.register(MNames.STORAGE_IMPORTER) { MenuType(::StorageImporterMenu) }
|
||||
val STORAGE_POWER_SUPPLIER: MenuType<*> by registry.register(MNames.STORAGE_POWER_SUPPLIER) { MenuType(::StoragePowerSupplierMenu) }
|
||||
|
||||
internal fun register() {
|
||||
registry.register(FMLJavaModLoadingContext.get().modEventBus)
|
||||
FMLJavaModLoadingContext.get().modEventBus.addListener(this::registerClient)
|
||||
internal fun register(bus: IEventBus) {
|
||||
registry.register(bus)
|
||||
bus.addListener(this::registerClient)
|
||||
}
|
||||
|
||||
@Suppress("unchecked_cast")
|
||||
|
@ -15,6 +15,7 @@ import net.minecraft.world.level.block.state.BlockBehaviour
|
||||
import net.minecraft.world.level.block.state.BlockState
|
||||
import net.minecraft.world.level.material.Material
|
||||
import net.minecraft.world.level.material.MaterialColor
|
||||
import net.minecraftforge.eventbus.api.IEventBus
|
||||
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext
|
||||
import net.minecraftforge.registries.ForgeRegistry
|
||||
import net.minecraftforge.registries.IForgeRegistry
|
||||
@ -205,21 +206,20 @@ object MRegistry {
|
||||
.strength(4f))
|
||||
})
|
||||
|
||||
fun initialize(context: FMLJavaModLoadingContext) {
|
||||
context.modEventBus.addListener(this::register)
|
||||
context.modEventBus.register(MStats)
|
||||
context.modEventBus.register(LootModifiers)
|
||||
fun initialize(bus: IEventBus) {
|
||||
bus.addListener(this::register)
|
||||
bus.addListener(MStats::registerVanilla)
|
||||
|
||||
MBlocks.register()
|
||||
MBlockEntities.register()
|
||||
MEntityTypes.register()
|
||||
MMenus.register()
|
||||
MItems.register()
|
||||
AndroidFeatures.register()
|
||||
AndroidResearch.register()
|
||||
MSoundEvents.register()
|
||||
LootModifiers.register()
|
||||
MBlocks.register(bus)
|
||||
MBlockEntities.register(bus)
|
||||
MEntityTypes.register(bus)
|
||||
MMenus.register(bus)
|
||||
MItems.register(bus)
|
||||
AndroidFeatures.register(bus)
|
||||
AndroidResearch.register(bus)
|
||||
MSoundEvents.register(bus)
|
||||
LootModifiers.register(bus)
|
||||
|
||||
MRecipes.register()
|
||||
MRecipes.register(bus)
|
||||
}
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ import net.minecraft.resources.ResourceLocation
|
||||
import net.minecraft.sounds.SoundEvent
|
||||
import net.minecraft.sounds.SoundEvents
|
||||
import net.minecraft.world.entity.EntityType
|
||||
import net.minecraftforge.eventbus.api.IEventBus
|
||||
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext
|
||||
import net.minecraftforge.registries.DeferredRegister
|
||||
import net.minecraftforge.registries.ForgeRegistries
|
||||
@ -18,7 +19,7 @@ object MSoundEvents {
|
||||
val PLASMA_WEAPON_OVERHEAT: SoundEvent by make("item.plasma_weapon_overheat")
|
||||
val PLAYER_BECOME_ANDROID: SoundEvent by make("player_become_android")
|
||||
|
||||
internal fun register() {
|
||||
registry.register(FMLJavaModLoadingContext.get().modEventBus)
|
||||
internal fun register(bus: IEventBus) {
|
||||
registry.register(bus)
|
||||
}
|
||||
}
|
||||
|
@ -10,8 +10,6 @@ import ru.dbotthepony.mc.otm.registry.StatNames.HEALTH_REGENERATED
|
||||
import ru.dbotthepony.mc.otm.registry.StatNames.POWER_CONSUMED
|
||||
|
||||
object MStats {
|
||||
@SubscribeEvent
|
||||
@Suppress("unused")
|
||||
fun registerVanilla(event: FMLCommonSetupEvent) {
|
||||
event.enqueueWork {
|
||||
Registry.register(Registry.CUSTOM_STAT, DAMAGE_ABSORBED, DAMAGE_ABSORBED)
|
||||
|
Loading…
Reference in New Issue
Block a user