mirror of
https://github.com/MightyPirates/OpenComputers.git
synced 2025-09-18 03:36:47 -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)
|
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// TODO private now?
|
// TODO private now?
|
||||||
def drawSlotInventory(slot: Slot, mouseX: Int, mouseY: Int) {
|
def drawSlotInventory(slot: Slot, mouseX: Int, mouseY: Int) {
|
||||||
if (slot.slotNumber < container.inventorySlots.size() - 36) {
|
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 com.google.common.cache.{CacheBuilder, RemovalNotification, RemovalListener}
|
||||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent
|
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 java.util.concurrent.{TimeUnit, Callable}
|
||||||
import li.cil.oc.Settings
|
import li.cil.oc.Settings
|
||||||
import li.cil.oc.client.Textures
|
import li.cil.oc.client.Textures
|
||||||
@ -246,7 +246,6 @@ object ScreenRenderer extends TileEntitySpecialRenderer with Callable[Int] with
|
|||||||
GLAllocation.deleteDisplayLists(e.getValue)
|
GLAllocation.deleteDisplayLists(e.getValue)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@SubscribeEvent
|
@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.eventhandler.{Event, SubscribeEvent}
|
||||||
import cpw.mods.fml.common.gameevent.PlayerEvent.ItemCraftedEvent
|
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.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.ExtendedNBT._
|
||||||
|
import li.cil.oc.util.mods.ProjectRed
|
||||||
|
import net.minecraft.entity.player.{EntityPlayerMP, EntityPlayer}
|
||||||
import net.minecraft.item.{ItemMap, ItemStack}
|
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
|
@SubscribeEvent
|
||||||
def onCrafting(e: ItemCraftedEvent) = {
|
def onCrafting(e: ItemCraftedEvent) = {
|
||||||
val player = e.player
|
val player = e.player
|
@ -1,17 +1,16 @@
|
|||||||
package li.cil.oc.common
|
package li.cil.oc.common
|
||||||
|
|
||||||
|
import cpw.mods.fml.common.FMLCommonHandler
|
||||||
import cpw.mods.fml.common.event._
|
import cpw.mods.fml.common.event._
|
||||||
import cpw.mods.fml.common.network.NetworkRegistry
|
import cpw.mods.fml.common.network.NetworkRegistry
|
||||||
import li.cil.oc._
|
import li.cil.oc._
|
||||||
import li.cil.oc.server
|
import li.cil.oc.server
|
||||||
import li.cil.oc.server.component.Keyboard
|
|
||||||
import li.cil.oc.server.driver
|
import li.cil.oc.server.driver
|
||||||
import li.cil.oc.server.fs
|
import li.cil.oc.server.fs
|
||||||
import li.cil.oc.server.network
|
import li.cil.oc.server.network
|
||||||
import li.cil.oc.server.network.Network
|
import li.cil.oc.server.network.Network
|
||||||
import li.cil.oc.util.WirelessNetwork
|
import li.cil.oc.util.WirelessNetwork
|
||||||
import net.minecraftforge.common.MinecraftForge
|
import net.minecraftforge.common.MinecraftForge
|
||||||
import cpw.mods.fml.common.FMLCommonHandler
|
|
||||||
|
|
||||||
class Proxy {
|
class Proxy {
|
||||||
def preInit(e: FMLPreInitializationEvent): Unit = {
|
def preInit(e: FMLPreInitializationEvent): Unit = {
|
||||||
@ -43,7 +42,6 @@ class Proxy {
|
|||||||
|
|
||||||
Recipes.init()
|
Recipes.init()
|
||||||
|
|
||||||
FMLCommonHandler.instance().bus().register(CraftingHandler)
|
|
||||||
OpenComputers.channel = NetworkRegistry.INSTANCE.newEventDrivenChannel("OpenComputers")
|
OpenComputers.channel = NetworkRegistry.INSTANCE.newEventDrivenChannel("OpenComputers")
|
||||||
OpenComputers.channel.register(server.PacketHandler)
|
OpenComputers.channel.register(server.PacketHandler)
|
||||||
}
|
}
|
||||||
@ -52,8 +50,7 @@ class Proxy {
|
|||||||
// Don't allow driver registration after this point, to avoid issues.
|
// Don't allow driver registration after this point, to avoid issues.
|
||||||
driver.Registry.locked = true
|
driver.Registry.locked = true
|
||||||
|
|
||||||
FMLCommonHandler.instance().bus().register(Keyboard)
|
FMLCommonHandler.instance().bus().register(EventHandler)
|
||||||
FMLCommonHandler.instance().bus().register(ConnectionHandler)
|
|
||||||
MinecraftForge.EVENT_BUS.register(Network)
|
MinecraftForge.EVENT_BUS.register(Network)
|
||||||
MinecraftForge.EVENT_BUS.register(WirelessNetwork)
|
MinecraftForge.EVENT_BUS.register(WirelessNetwork)
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,13 @@
|
|||||||
package li.cil.oc.server.component
|
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 cpw.mods.fml.common.gameevent.PlayerEvent.{PlayerLoggedOutEvent, PlayerChangedDimensionEvent, PlayerRespawnEvent}
|
||||||
import li.cil.oc.Settings
|
import li.cil.oc.Settings
|
||||||
import li.cil.oc.api.Network
|
import li.cil.oc.api.Network
|
||||||
import li.cil.oc.api.network.{Node, Visibility, Message}
|
import li.cil.oc.api.network.{Node, Visibility, Message}
|
||||||
import net.minecraft.entity.player.EntityPlayer
|
import net.minecraft.entity.player.EntityPlayer
|
||||||
import net.minecraftforge.common.MinecraftForge
|
|
||||||
import scala.collection.mutable
|
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 when screen is disconnected from which the key down came
|
||||||
// TODO key up after load for anything that was pressed
|
// TODO key up after load for anything that was pressed
|
||||||
@ -23,32 +22,46 @@ abstract class Keyboard extends ManagedComponent {
|
|||||||
// ----------------------------------------------------------------------- //
|
// ----------------------------------------------------------------------- //
|
||||||
|
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
def onReleasePressedKeys(e: Keyboard.ReleasePressedKeys) {
|
def onPlayerRespawn(e: PlayerRespawnEvent) {
|
||||||
pressedKeys.get(e.player) match {
|
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) {
|
case Some(keys) => for ((code, char) <- keys) {
|
||||||
if (Settings.get.inputUsername) {
|
if (Settings.get.inputUsername) {
|
||||||
signal(e.player, "key_up", char, code, e.player.getCommandSenderName)
|
signal(player, "key_up", char, code, player.getCommandSenderName)
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
signal(e.player, "key_up", char, code)
|
signal(player, "key_up", char, code)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
case _ =>
|
case _ =>
|
||||||
}
|
}
|
||||||
pressedKeys.remove(e.player)
|
pressedKeys.remove(player)
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------- //
|
// ----------------------------------------------------------------------- //
|
||||||
|
|
||||||
override def onConnect(node: Node) {
|
override def onConnect(node: Node) {
|
||||||
if (node == this.node) {
|
if (node == this.node) {
|
||||||
FMLCommonHandler.instance().bus().register(this)
|
FMLCommonHandler.instance.bus.register(this)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override def onDisconnect(node: Node) {
|
override def onDisconnect(node: Node) {
|
||||||
if (node == this.node) {
|
if (node == this.node) {
|
||||||
FMLCommonHandler.instance().bus().unregister(this)
|
FMLCommonHandler.instance.bus.unregister(this)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -98,26 +111,3 @@ abstract class Keyboard extends ManagedComponent {
|
|||||||
protected def signal(args: AnyRef*) =
|
protected def signal(args: AnyRef*) =
|
||||||
node.sendToReachable("computer.checked_signal", args: _*)
|
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