mirror of
https://github.com/MightyPirates/OpenComputers.git
synced 2025-09-17 03:05:30 -04:00
Merge branch 'MC1.7' of cil.li:oc into MC1.7
This commit is contained in:
commit
a2b3eb98bc
@ -33,7 +33,6 @@ abstract class DynamicGuiContainer(container: Container) extends GuiContainer(co
|
||||
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize)
|
||||
}
|
||||
|
||||
|
||||
// TODO private now?
|
||||
def drawSlotInventory(slot: Slot, mouseX: Int, mouseY: Int) {
|
||||
if (slot.slotNumber < container.inventorySlots.size() - 36) {
|
||||
|
@ -2,7 +2,7 @@ package li.cil.oc.client.renderer.tileentity
|
||||
|
||||
import com.google.common.cache.{CacheBuilder, RemovalNotification, RemovalListener}
|
||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent
|
||||
import cpw.mods.fml.common.gameevent.TickEvent.WorldTickEvent
|
||||
import cpw.mods.fml.common.gameevent.TickEvent.ClientTickEvent
|
||||
import java.util.concurrent.{TimeUnit, Callable}
|
||||
import li.cil.oc.Settings
|
||||
import li.cil.oc.client.Textures
|
||||
@ -246,7 +246,6 @@ object ScreenRenderer extends TileEntitySpecialRenderer with Callable[Int] with
|
||||
GLAllocation.deleteDisplayLists(e.getValue)
|
||||
}
|
||||
|
||||
|
||||
@SubscribeEvent
|
||||
def onTick(e: WorldTickEvent) = cache.cleanUp()
|
||||
def onTick(e: ClientTickEvent) = cache.cleanUp()
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
package li.cil.oc.common
|
||||
|
||||
import cpw.mods.fml.common.{FMLCommonHandler, Loader}
|
||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent
|
||||
import cpw.mods.fml.common.gameevent.PlayerEvent.PlayerLoggedInEvent
|
||||
import li.cil.oc.Settings
|
||||
import li.cil.oc.util.LuaStateFactory
|
||||
import li.cil.oc.util.mods.ProjectRed
|
||||
import net.minecraft.entity.player.EntityPlayerMP
|
||||
import net.minecraft.util.{ChatComponentText, ChatComponentTranslation}
|
||||
|
||||
object ConnectionHandler {
|
||||
|
||||
@SubscribeEvent
|
||||
def playerLoggedIn(e: PlayerLoggedInEvent) {
|
||||
if (FMLCommonHandler.instance.getEffectiveSide.isServer) e.player match {
|
||||
case player: EntityPlayerMP =>
|
||||
if (!LuaStateFactory.isAvailable) {
|
||||
player.addChatMessage(new ChatComponentText("§aOpenComputers§f: ").appendSibling(
|
||||
new ChatComponentTranslation(Settings.namespace + "gui.Chat.WarningLuaFallback")))
|
||||
}
|
||||
if (ProjectRed.isAvailable && !ProjectRed.isAPIAvailable) {
|
||||
player.addChatMessage(new ChatComponentText("§aOpenComputers§f: ").appendSibling(
|
||||
new ChatComponentTranslation(Settings.namespace + "gui.Chat.WarningProjectRed")))
|
||||
}
|
||||
if (!Settings.get.pureIgnorePower && !Loader.isModLoaded("UniversalElectricity")) {
|
||||
player.addChatMessage(new ChatComponentText("§aOpenComputers§f: ").appendSibling(
|
||||
new ChatComponentTranslation(Settings.namespace + "gui.Chat.WarningPower")))
|
||||
}
|
||||
case _ =>
|
||||
}
|
||||
}
|
||||
}
|
@ -1,12 +1,38 @@
|
||||
package li.cil.oc
|
||||
package li.cil.oc.common
|
||||
|
||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent
|
||||
import cpw.mods.fml.common.gameevent.PlayerEvent.ItemCraftedEvent
|
||||
import cpw.mods.fml.common.eventhandler.{Event, SubscribeEvent}
|
||||
import cpw.mods.fml.common.gameevent.PlayerEvent._
|
||||
import cpw.mods.fml.common.{Loader, FMLCommonHandler}
|
||||
import li.cil.oc.server.driver.Registry
|
||||
import li.cil.oc.util.LuaStateFactory
|
||||
import li.cil.oc.{Items, Settings}
|
||||
import li.cil.oc.util.ExtendedNBT._
|
||||
import li.cil.oc.util.mods.ProjectRed
|
||||
import net.minecraft.entity.player.{EntityPlayerMP, EntityPlayer}
|
||||
import net.minecraft.item.{ItemMap, ItemStack}
|
||||
import net.minecraft.util.{ChatComponentTranslation, ChatComponentText}
|
||||
|
||||
object EventHandler {
|
||||
@SubscribeEvent
|
||||
def playerLoggedIn(e: PlayerLoggedInEvent) {
|
||||
if (FMLCommonHandler.instance.getEffectiveSide.isServer) e.player match {
|
||||
case player: EntityPlayerMP =>
|
||||
if (!LuaStateFactory.isAvailable) {
|
||||
player.addChatMessage(new ChatComponentText("§aOpenComputers§f: ").appendSibling(
|
||||
new ChatComponentTranslation(Settings.namespace + "gui.Chat.WarningLuaFallback")))
|
||||
}
|
||||
if (ProjectRed.isAvailable && !ProjectRed.isAPIAvailable) {
|
||||
player.addChatMessage(new ChatComponentText("§aOpenComputers§f: ").appendSibling(
|
||||
new ChatComponentTranslation(Settings.namespace + "gui.Chat.WarningProjectRed")))
|
||||
}
|
||||
if (!Settings.get.pureIgnorePower && !Loader.isModLoaded("UniversalElectricity")) {
|
||||
player.addChatMessage(new ChatComponentText("§aOpenComputers§f: ").appendSibling(
|
||||
new ChatComponentTranslation(Settings.namespace + "gui.Chat.WarningPower")))
|
||||
}
|
||||
case _ =>
|
||||
}
|
||||
}
|
||||
|
||||
object CraftingHandler {
|
||||
@SubscribeEvent
|
||||
def onCrafting(e: ItemCraftedEvent) = {
|
||||
val player = e.player
|
||||
@ -68,4 +94,4 @@ object CraftingHandler {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,17 +1,16 @@
|
||||
package li.cil.oc.common
|
||||
|
||||
import cpw.mods.fml.common.FMLCommonHandler
|
||||
import cpw.mods.fml.common.event._
|
||||
import cpw.mods.fml.common.network.NetworkRegistry
|
||||
import li.cil.oc._
|
||||
import li.cil.oc.server
|
||||
import li.cil.oc.server.component.Keyboard
|
||||
import li.cil.oc.server.driver
|
||||
import li.cil.oc.server.fs
|
||||
import li.cil.oc.server.network
|
||||
import li.cil.oc.server.network.Network
|
||||
import li.cil.oc.util.WirelessNetwork
|
||||
import net.minecraftforge.common.MinecraftForge
|
||||
import cpw.mods.fml.common.FMLCommonHandler
|
||||
|
||||
class Proxy {
|
||||
def preInit(e: FMLPreInitializationEvent): Unit = {
|
||||
@ -43,7 +42,6 @@ class Proxy {
|
||||
|
||||
Recipes.init()
|
||||
|
||||
FMLCommonHandler.instance().bus().register(CraftingHandler)
|
||||
OpenComputers.channel = NetworkRegistry.INSTANCE.newEventDrivenChannel("OpenComputers")
|
||||
OpenComputers.channel.register(server.PacketHandler)
|
||||
}
|
||||
@ -52,8 +50,7 @@ class Proxy {
|
||||
// Don't allow driver registration after this point, to avoid issues.
|
||||
driver.Registry.locked = true
|
||||
|
||||
FMLCommonHandler.instance().bus().register(Keyboard)
|
||||
FMLCommonHandler.instance().bus().register(ConnectionHandler)
|
||||
FMLCommonHandler.instance().bus().register(EventHandler)
|
||||
MinecraftForge.EVENT_BUS.register(Network)
|
||||
MinecraftForge.EVENT_BUS.register(WirelessNetwork)
|
||||
}
|
||||
|
@ -1,14 +1,13 @@
|
||||
package li.cil.oc.server.component
|
||||
|
||||
import cpw.mods.fml.common.eventhandler.{Event, SubscribeEvent}
|
||||
import cpw.mods.fml.common.FMLCommonHandler
|
||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent
|
||||
import cpw.mods.fml.common.gameevent.PlayerEvent.{PlayerLoggedOutEvent, PlayerChangedDimensionEvent, PlayerRespawnEvent}
|
||||
import li.cil.oc.Settings
|
||||
import li.cil.oc.api.Network
|
||||
import li.cil.oc.api.network.{Node, Visibility, Message}
|
||||
import net.minecraft.entity.player.EntityPlayer
|
||||
import net.minecraftforge.common.MinecraftForge
|
||||
import scala.collection.mutable
|
||||
import cpw.mods.fml.common.FMLCommonHandler
|
||||
|
||||
// TODO key up when screen is disconnected from which the key down came
|
||||
// TODO key up after load for anything that was pressed
|
||||
@ -23,32 +22,46 @@ abstract class Keyboard extends ManagedComponent {
|
||||
// ----------------------------------------------------------------------- //
|
||||
|
||||
@SubscribeEvent
|
||||
def onReleasePressedKeys(e: Keyboard.ReleasePressedKeys) {
|
||||
pressedKeys.get(e.player) match {
|
||||
def onPlayerRespawn(e: PlayerRespawnEvent) {
|
||||
releasePressedKeys(e.player)
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
def onPlayerChangedDimension(e: PlayerChangedDimensionEvent) {
|
||||
releasePressedKeys(e.player)
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
def onPlayerLogout(e: PlayerLoggedOutEvent) {
|
||||
releasePressedKeys(e.player)
|
||||
}
|
||||
|
||||
def releasePressedKeys(player: EntityPlayer) {
|
||||
pressedKeys.get(player) match {
|
||||
case Some(keys) => for ((code, char) <- keys) {
|
||||
if (Settings.get.inputUsername) {
|
||||
signal(e.player, "key_up", char, code, e.player.getCommandSenderName)
|
||||
signal(player, "key_up", char, code, player.getCommandSenderName)
|
||||
}
|
||||
else {
|
||||
signal(e.player, "key_up", char, code)
|
||||
signal(player, "key_up", char, code)
|
||||
}
|
||||
}
|
||||
case _ =>
|
||||
}
|
||||
pressedKeys.remove(e.player)
|
||||
pressedKeys.remove(player)
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------- //
|
||||
|
||||
override def onConnect(node: Node) {
|
||||
if (node == this.node) {
|
||||
FMLCommonHandler.instance().bus().register(this)
|
||||
FMLCommonHandler.instance.bus.register(this)
|
||||
}
|
||||
}
|
||||
|
||||
override def onDisconnect(node: Node) {
|
||||
if (node == this.node) {
|
||||
FMLCommonHandler.instance().bus().unregister(this)
|
||||
FMLCommonHandler.instance.bus.unregister(this)
|
||||
}
|
||||
}
|
||||
|
||||
@ -97,27 +110,4 @@ abstract class Keyboard extends ManagedComponent {
|
||||
|
||||
protected def signal(args: AnyRef*) =
|
||||
node.sendToReachable("computer.checked_signal", args: _*)
|
||||
}
|
||||
|
||||
|
||||
object Keyboard {
|
||||
|
||||
@SubscribeEvent
|
||||
def onPlayerRespawn(e: PlayerRespawnEvent) {
|
||||
FMLCommonHandler.instance().bus().post(new ReleasePressedKeys(e.player))
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
def onPlayerChangedDimension(e: PlayerChangedDimensionEvent) {
|
||||
//TODO Throws exception
|
||||
FMLCommonHandler.instance().bus().post(new ReleasePressedKeys(e.player))
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
def onPlayerLogout(e: PlayerLoggedOutEvent) {
|
||||
FMLCommonHandler.instance().bus().post(new ReleasePressedKeys(e.player))
|
||||
}
|
||||
|
||||
class ReleasePressedKeys(val player: EntityPlayer) extends Event
|
||||
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user