mirror of
https://github.com/MightyPirates/OpenComputers.git
synced 2025-09-18 11:48:02 -04:00
Port JEI integration.
This commit is contained in:
parent
91754f30c2
commit
a1584036ef
@ -184,8 +184,8 @@ configurations {
|
||||
dependencies {
|
||||
deobfCompile "MCMultiPart:MCMultiPart-experimental:${config.mcmp.version}:universal"
|
||||
deobfCompile "net.industrial-craft:industrialcraft-2:${config.ic2.version}:dev"
|
||||
deobfCompile "mezz.jei:jei_1.9.4:${config.jei.version}"
|
||||
/*
|
||||
deobfCompile "mezz.jei:jei_1.8.9:${config.jei.version}"
|
||||
deobfCompile "li.cil.tis3d:TIS-3D:${config.tis3d.version}"
|
||||
deobfCompile "mcp.mobius.waila:Waila:${config.waila.version}"
|
||||
provided "codechicken:CodeChickenCore:${config.minecraft.version}-${config.ccc.version}:dev"
|
||||
@ -263,7 +263,6 @@ sourceSets {
|
||||
exclude 'li/cil/oc/integration/gc/**'
|
||||
exclude 'li/cil/oc/integration/gregtech/**'
|
||||
exclude 'li/cil/oc/integration/igw/**'
|
||||
exclude 'li/cil/oc/integration/jei/**'
|
||||
exclude 'li/cil/oc/integration/mekanism/**'
|
||||
exclude 'li/cil/oc/integration/mfr/**'
|
||||
exclude 'li/cil/oc/integration/mystcraft/**'
|
||||
|
@ -30,7 +30,7 @@ gc.version=3.0.7
|
||||
gt.version=5.04.06
|
||||
ic2.version=2.5.54-ex19
|
||||
igwmod.version=1.1.3-18
|
||||
jei.version=2.28.18.186
|
||||
jei.version=3.6.8.225
|
||||
mcmp.version=1.2.0_70
|
||||
mekanism.build=5
|
||||
mekanism.version=7.1.2
|
||||
|
@ -3,10 +3,8 @@ package li.cil.oc.integration.jei
|
||||
import java.util
|
||||
import javax.annotation.Nonnull
|
||||
|
||||
import net.minecraft.client.Minecraft
|
||||
import net.minecraft.item.ItemStack
|
||||
import net.minecraft.util.EnumChatFormatting
|
||||
import com.google.common.base.Strings
|
||||
import com.mojang.realmsclient.gui.ChatFormatting
|
||||
import li.cil.oc.api
|
||||
import li.cil.oc.api.driver.EnvironmentAware
|
||||
import li.cil.oc.api.prefab.DriverTileEntity
|
||||
@ -19,7 +17,8 @@ import mezz.jei.api.gui.IRecipeLayout
|
||||
import mezz.jei.api.recipe.BlankRecipeCategory
|
||||
import mezz.jei.api.recipe.BlankRecipeWrapper
|
||||
import mezz.jei.api.recipe.IRecipeHandler
|
||||
import mezz.jei.api.recipe.IRecipeWrapper
|
||||
import _root_.net.minecraft.client.Minecraft
|
||||
import _root_.net.minecraft.item.ItemStack
|
||||
|
||||
import scala.collection.convert.WrapAsJava._
|
||||
import scala.collection.convert.WrapAsScala._
|
||||
@ -81,8 +80,8 @@ object CallbackDocHandler {
|
||||
case VexPattern(head, tail) => (name + head, tail)
|
||||
case _ => (name, doc)
|
||||
}
|
||||
wrap(signature, 160).map(EnumChatFormatting.BLACK.toString + _).mkString("\n") +
|
||||
EnumChatFormatting.RESET + "\n" +
|
||||
wrap(signature, 160).map(ChatFormatting.BLACK.toString + _).mkString("\n") +
|
||||
ChatFormatting.RESET + "\n" +
|
||||
wrap(documentation, 152).map(" " + _).mkString("\n")
|
||||
}
|
||||
}
|
||||
@ -92,11 +91,12 @@ object CallbackDocHandler {
|
||||
protected def wrap(line: String, width: Int) = Minecraft.getMinecraft.fontRendererObj.listFormattedStringToWidth(line, width)
|
||||
|
||||
object CallbackDocRecipeHandler extends IRecipeHandler[CallbackDocRecipe] {
|
||||
|
||||
override def getRecipeWrapper(recipe: CallbackDocRecipe) = recipe
|
||||
|
||||
override def getRecipeCategoryUid = CallbackDocRecipeCategory.getUid
|
||||
|
||||
override def getRecipeCategoryUid(recipe: CallbackDocRecipe): String = getRecipeCategoryUid
|
||||
|
||||
override def isRecipeValid(recipe: CallbackDocRecipe) = true
|
||||
|
||||
override def getRecipeClass = classOf[CallbackDocRecipe]
|
||||
@ -113,9 +113,7 @@ object CallbackDocHandler {
|
||||
}
|
||||
}
|
||||
|
||||
object CallbackDocRecipeCategory extends BlankRecipeCategory {
|
||||
|
||||
|
||||
object CallbackDocRecipeCategory extends BlankRecipeCategory[CallbackDocRecipe] {
|
||||
val recipeWidth: Int = 160
|
||||
val recipeHeight: Int = 125
|
||||
private var background: IDrawable = null
|
||||
@ -126,8 +124,7 @@ object CallbackDocHandler {
|
||||
|
||||
override def getBackground: IDrawable = background
|
||||
|
||||
override def setRecipe(recipeLayout: IRecipeLayout, recipeWrapper: IRecipeWrapper) {
|
||||
|
||||
override def setRecipe(recipeLayout: IRecipeLayout, recipeWrapper: CallbackDocRecipe) {
|
||||
}
|
||||
|
||||
override def getTitle = "OpenComputers API"
|
||||
|
@ -11,16 +11,17 @@ import mezz.jei.api.recipe.IRecipeHandler
|
||||
import mezz.jei.api.recipe.IRecipeWrapper
|
||||
import mezz.jei.api.recipe.VanillaRecipeCategoryUid
|
||||
import mezz.jei.api.recipe.wrapper.ICraftingRecipeWrapper
|
||||
import net.minecraft.item.ItemStack
|
||||
import _root_.net.minecraft.item.ItemStack
|
||||
|
||||
import scala.collection.convert.WrapAsJava._
|
||||
|
||||
object LootDiskCyclingRecipeHandler extends IRecipeHandler[LootDiskCyclingRecipe] {
|
||||
|
||||
override def getRecipeClass: Class[LootDiskCyclingRecipe] = classOf[LootDiskCyclingRecipe]
|
||||
|
||||
override def getRecipeCategoryUid: String = VanillaRecipeCategoryUid.CRAFTING
|
||||
|
||||
override def getRecipeCategoryUid(recipe: LootDiskCyclingRecipe): String = getRecipeCategoryUid
|
||||
|
||||
override def getRecipeWrapper(recipe: LootDiskCyclingRecipe): IRecipeWrapper = new LootDiskCyclingRecipeWrapper(recipe)
|
||||
|
||||
override def isRecipeValid(recipe: LootDiskCyclingRecipe): Boolean = true
|
||||
@ -31,6 +32,7 @@ object LootDiskCyclingRecipeHandler extends IRecipeHandler[LootDiskCyclingRecipe
|
||||
|
||||
override def getOutputs: util.List[ItemStack] = Loot.worldDisks.map(_._1).toList
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -3,9 +3,6 @@ package li.cil.oc.integration.jei
|
||||
import java.util
|
||||
import javax.annotation.Nonnull
|
||||
|
||||
import net.minecraft.client.Minecraft
|
||||
import net.minecraft.item.ItemStack
|
||||
import net.minecraftforge.fml.client.config.GuiButtonExt
|
||||
import li.cil.oc.Localization
|
||||
import li.cil.oc.api
|
||||
import mezz.jei.api.IGuiHelper
|
||||
@ -15,7 +12,9 @@ import mezz.jei.api.gui.IRecipeLayout
|
||||
import mezz.jei.api.recipe.BlankRecipeCategory
|
||||
import mezz.jei.api.recipe.BlankRecipeWrapper
|
||||
import mezz.jei.api.recipe.IRecipeHandler
|
||||
import mezz.jei.api.recipe.IRecipeWrapper
|
||||
import _root_.net.minecraft.client.Minecraft
|
||||
import _root_.net.minecraft.item.ItemStack
|
||||
import _root_.net.minecraftforge.fml.client.config.GuiButtonExt
|
||||
|
||||
import scala.collection.convert.WrapAsJava._
|
||||
import scala.collection.convert.WrapAsScala._
|
||||
@ -34,6 +33,8 @@ object ManualUsageHandler {
|
||||
|
||||
override def getRecipeCategoryUid = ManualUsageRecipeCategory.getUid
|
||||
|
||||
override def getRecipeCategoryUid(recipe: ManualUsageRecipe): String = getRecipeCategoryUid
|
||||
|
||||
override def isRecipeValid(recipe: ManualUsageRecipe) = true
|
||||
|
||||
override def getRecipeClass = classOf[ManualUsageRecipe]
|
||||
@ -62,7 +63,7 @@ object ManualUsageHandler {
|
||||
}
|
||||
}
|
||||
|
||||
object ManualUsageRecipeCategory extends BlankRecipeCategory {
|
||||
object ManualUsageRecipeCategory extends BlankRecipeCategory[ManualUsageRecipe] {
|
||||
val recipeWidth: Int = 160
|
||||
val recipeHeight: Int = 125
|
||||
private var background: IDrawable = null
|
||||
@ -73,8 +74,7 @@ object ManualUsageHandler {
|
||||
|
||||
override def getBackground: IDrawable = background
|
||||
|
||||
override def setRecipe(recipeLayout: IRecipeLayout, recipeWrapper: IRecipeWrapper) {
|
||||
|
||||
override def setRecipe(recipeLayout: IRecipeLayout, recipeWrapper: ManualUsageRecipe) {
|
||||
}
|
||||
|
||||
override def getTitle = "OpenComputers Manual"
|
||||
|
@ -3,31 +3,22 @@ package li.cil.oc.integration.jei
|
||||
import li.cil.oc.Settings
|
||||
import li.cil.oc.integration.util.ItemBlacklist
|
||||
import li.cil.oc.integration.util.ItemSearch
|
||||
import mezz.jei.api.IItemRegistry
|
||||
import mezz.jei.api.IJeiHelpers
|
||||
import mezz.jei.api.IJeiRuntime
|
||||
import mezz.jei.api.IModPlugin
|
||||
import mezz.jei.api.IModRegistry
|
||||
import mezz.jei.api.IRecipeRegistry
|
||||
import mezz.jei.api.JEIPlugin
|
||||
import net.minecraft.client.gui.inventory.GuiContainer
|
||||
import net.minecraft.item.ItemStack
|
||||
|
||||
@JEIPlugin
|
||||
class ModPluginOpenComputers extends IModPlugin {
|
||||
|
||||
override def onJeiHelpersAvailable(jeiHelpers: IJeiHelpers) {
|
||||
ItemBlacklist.consumers += jeiHelpers.getItemBlacklist.addItemToBlacklist
|
||||
}
|
||||
|
||||
override def onItemRegistryAvailable(itemRegistry: IItemRegistry) {
|
||||
}
|
||||
|
||||
override def register(registry: IModRegistry) {
|
||||
if (Settings.get.lootRecrafting) {
|
||||
registry.addRecipeHandlers(LootDiskCyclingRecipeHandler)
|
||||
}
|
||||
|
||||
ItemBlacklist.hiddenItems.foreach(getter => registry.getJeiHelpers.getItemBlacklist.addItemToBlacklist(getter()))
|
||||
|
||||
// This could go into the Description category, but Manual should always be in front of the Callback doc.
|
||||
ManualUsageHandler.ManualUsageRecipeCategory.initialize(registry.getJeiHelpers.getGuiHelper)
|
||||
registry.addRecipeCategories(ManualUsageHandler.ManualUsageRecipeCategory)
|
||||
@ -40,9 +31,6 @@ class ModPluginOpenComputers extends IModPlugin {
|
||||
registry.addRecipes(CallbackDocHandler.getRecipes(registry))
|
||||
}
|
||||
|
||||
override def onRecipeRegistryAvailable(recipeRegistry: IRecipeRegistry) {
|
||||
}
|
||||
|
||||
var stackUnderMouse: (GuiContainer, Int, Int) => Option[ItemStack] = null
|
||||
|
||||
override def onRuntimeAvailable(jeiRuntime: IJeiRuntime) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user