Merge branch 'master-MC1.12' of https://github.com/modmuss50/OpenComputers into master-MC1.12

This commit is contained in:
Florian Nücke 2017-07-23 14:08:45 +02:00
commit 01f69b93e1
13 changed files with 58 additions and 44 deletions

View File

@ -76,7 +76,7 @@ dependencies {
deobfCompile "li.cil.tis3d:TIS-3D:MC${config.minecraft.version}-${config.tis3d.version}"
deobfCompile "MCMultiPart2:MCMultiPart-exp:${config.mcmp.version}"
deobfCompile "mezz.jei:jei_${config.minecraft.version}:${config.jei.version}"
deobfCompile "net.sengir.forestry:forestry_1.11.2:${config.forestry.version}"
deobfCompile "net.sengir.forestry:forestry_1.12:${config.forestry.version}"
embedded files('libs/OpenComputers-JNLua.jar', 'libs/OpenComputers-LuaJ.jar')

View File

@ -1,14 +1,14 @@
minecraft.version=1.12
minecraft.mappings=snapshot_20170620
forge.version=14.21.0.2343
forge.version=14.21.1.2413
mod.name=OpenComputers
mod.group=li.cil.oc
mod.version=1.7.0
forestry.version=5.3.1.38
jei.version=4.6.0.65
mcmp.version=2.0.0_17
forestry.version=5.4.3.134
jei.version=4.7.2.77
mcmp.version=2.2.2_38
tis3d.version=1.2.1.2
maven.url=file:///home/www/maven.cil.li/web

View File

@ -50,9 +50,6 @@ object OpenComputers {
OpenComputers.log.info("Done with post init phase.")
}
@EventHandler
def missingMappings(e: FMLMissingMappingsEvent): Unit = proxy.missingMappings(e)
@EventHandler
def serverStart(e: FMLServerStartingEvent): Unit = CommandHandler.register(e)

View File

@ -90,4 +90,10 @@ abstract class CustomGuiContainer[C <: Container](val inventoryContainer: C) ext
super.drawGradientRect(left, top, right, bottom, startColor, endColor)
RenderState.makeItBlend()
}
override def drawScreen(mouseX: Int, mouseY: Int, partialTicks: Float): Unit = {
this.drawDefaultBackground()
super.drawScreen(mouseX, mouseY, partialTicks)
this.renderHoveredToolTip(mouseX, mouseY)
}
}

View File

@ -20,11 +20,13 @@ import net.minecraft.block.Block
import net.minecraft.item.Item
import net.minecraft.item.ItemStack
import net.minecraft.util.ResourceLocation
import net.minecraftforge.common.MinecraftForge
import net.minecraftforge.event.RegistryEvent.MissingMappings
import net.minecraftforge.fml.common.FMLLog
import net.minecraftforge.fml.common.event._
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
import net.minecraftforge.fml.common.network.NetworkRegistry
import net.minecraftforge.fml.common.registry.EntityRegistry
import net.minecraftforge.fml.common.registry.GameRegistry
import net.minecraftforge.fml.common.registry.{EntityRegistry}
import net.minecraftforge.oredict.OreDictionary
import scala.collection.convert.WrapAsScala._
@ -36,6 +38,8 @@ class Proxy {
Settings.load(new File(e.getModConfigurationDirectory, "opencomputers" + File.separator + "settings.conf"))
MinecraftForge.EVENT_BUS.register(this)
OpenComputers.log.info("Initializing blocks and items.")
Blocks.init()
@ -150,25 +154,28 @@ class Proxy {
OpenComputers.ID + ":serverRack" -> Constants.BlockName.Rack
)
def missingMappings(e: FMLMissingMappingsEvent) {
for (missing <- e.get()) {
if (missing.`type` == GameRegistry.Type.BLOCK) {
blockRenames.get(missing.name) match {
@SubscribeEvent
def missingBlockMappings(e: MissingMappings[Block]) {
for (missing <- e.getAllMappings()) {
blockRenames.get(missing.key.getResourcePath) match {
case Some(name) =>
if (Strings.isNullOrEmpty(name)) missing.ignore()
else missing.remap(Block.REGISTRY.getObject(new ResourceLocation(OpenComputers.ID, name)))
case _ => missing.warn()
}
}
else if (missing.`type` == GameRegistry.Type.ITEM) {
itemRenames.get(missing.name) match {
}
}
@SubscribeEvent
def missingItemMappings(e: MissingMappings[Item]) {
for (missing <- e.getAllMappings()) {
itemRenames.get(missing.key.getResourcePath) match {
case Some(name) =>
if (Strings.isNullOrEmpty(name)) missing.ignore()
else missing.remap(Item.REGISTRY.getObject(new ResourceLocation(OpenComputers.ID, name)))
case _ => missing.warn()
}
}
}
}
// OK, seriously now, I've gotten one too many bug reports because of this Java version being broken.

View File

@ -16,13 +16,13 @@ import scala.collection.convert.WrapAsJava._
import scala.collection.convert.WrapAsScala._
object ObfNames {
final val Class_EntityHanging = Array("net/minecraft/entity/EntityHanging", "yy")
final val Class_EntityLiving = Array("net/minecraft/entity/EntityLiving", "sx")
final val Class_RenderLiving = Array("net/minecraft/client/renderer/entity/RenderLiving", "bvq")
final val Class_TileEntity = Array("net/minecraft/tileentity/TileEntity", "asc")
final val Field_leashNBTTag = Array("leashNBTTag", "field_110170_bx", "bF")
final val Field_leashedToEntity = Array("leashedToEntity", "field_110168_bw", "bE")
final val Method_recreateLeash = Array("recreateLeash", "func_110165_bF", "da")
final val Class_EntityHanging = Array("net/minecraft/entity/EntityHanging", "aby")
final val Class_EntityLiving = Array("net/minecraft/entity/EntityLiving", "vo")
final val Class_RenderLiving = Array("net/minecraft/client/renderer/entity/RenderLiving", "cad")
final val Class_TileEntity = Array("net/minecraft/tileentity/TileEntity", "avh")
final val Field_leashNBTTag = Array("leashNBTTag", "field_110170_bx", "bG")
final val Field_leashedToEntity = Array("leashedToEntity", "field_110168_bw", "bF")
final val Method_recreateLeash = Array("recreateLeash", "func_110165_bF", "de")
final val Method_recreateLeashDesc = Array("()V")
final val Method_renderLeash = Array("renderLeash", "func_110827_b", "b")
final val Method_renderLeashDesc = Array("(Lsg;DDDFF)V", "(Lnet/minecraft/entity/EntityLiving;DDDFF)V")

View File

@ -33,7 +33,7 @@ object Blocks {
GameRegistry.registerTileEntity(classOf[tileentity.Relay], Settings.namespace + "relay")
GameRegistry.registerTileEntity(classOf[tileentity.RobotProxy], Settings.namespace + "robot")
GameRegistry.registerTileEntity(classOf[tileentity.Screen], Settings.namespace + "screen")
GameRegistry.registerTileEntityWithAlternatives(classOf[tileentity.Rack], Settings.namespace + "rack", Settings.namespace + "serverRack")
GameRegistry.registerTileEntity(classOf[tileentity.Rack], Settings.namespace + "rack")
GameRegistry.registerTileEntity(classOf[tileentity.Transposer], Settings.namespace + "transposer")
GameRegistry.registerTileEntity(classOf[tileentity.Waypoint], Settings.namespace + "waypoint")

View File

@ -31,7 +31,7 @@ import net.minecraft.item.ItemStack
import net.minecraft.nbt.NBTTagCompound
import net.minecraft.util.NonNullList
import net.minecraft.util.ResourceLocation
import net.minecraftforge.fml.common.registry.GameRegistry
import net.minecraftforge.registries.{GameData}
import scala.collection.mutable
import scala.collection.mutable.ArrayBuffer
@ -52,26 +52,26 @@ object Items extends ItemAPI {
case _ => null
}
def registerBlock[T <: Block](instance: T, id: String): T = {
def registerBlock(instance: Block, id: String): Block = {
if (!descriptors.contains(id)) {
instance match {
case simple: SimpleBlock =>
instance.setUnlocalizedName("oc." + id)
instance.setRegistryName(id)
GameRegistry.register(instance)
GameData.register_impl(instance)
OpenComputers.proxy.registerModel(instance, id)
val item = new common.block.Item(instance)
val item : Item = new common.block.Item(instance)
item.setUnlocalizedName("oc." + id)
item.setRegistryName(id)
GameRegistry.register(item)
GameData.register_impl(item)
OpenComputers.proxy.registerModel(item, id)
case _ =>
}
descriptors += id -> new ItemInfo {
override def name: String = id
override def block: T = instance
override def block = instance
override def item = null
@ -107,7 +107,7 @@ object Items extends ItemAPI {
instance match {
case simple: SimpleItem =>
simple.setUnlocalizedName("oc." + id)
GameRegistry.register(simple, new ResourceLocation(Settings.resourceDomain, id))
GameData.register_impl(simple.setRegistryName(new ResourceLocation(Settings.resourceDomain, id)))
OpenComputers.proxy.registerModel(instance, id)
case _ =>
}
@ -523,7 +523,9 @@ object Items extends ItemAPI {
override def getSubItems(tab: CreativeTabs, list: NonNullList[ItemStack]): Unit = {
super.getSubItems(tab, list)
configuredItems.foreach(list.add)
if(isInCreativeTab(tab)){
configuredItems.foreach(list.add)
}
}
}, "misc")
@ -534,7 +536,7 @@ object Items extends ItemAPI {
private def newItem[T <: Item](item: T, name: String): T = {
item.setUnlocalizedName("oc." + name)
GameRegistry.register(item, new ResourceLocation(Settings.resourceDomain, name))
GameData.register_impl(item.setRegistryName(new ResourceLocation(Settings.resourceDomain, name)))
item
}
}

View File

@ -73,10 +73,12 @@ class Delegator extends Item with driver.item.UpgradeRenderer with Chargeable {
override def getSubItems(tab: CreativeTabs, list: NonNullList[ItemStack]) {
// Workaround for MC's untyped lists...
subItems.indices.filter(subItems(_).showInItemList).
map(subItems(_).createItemStack()).
sortBy(_.getUnlocalizedName).
foreach(list.add)
if(isInCreativeTab(tab)){
subItems.indices.filter(subItems(_).showInItemList).
map(subItems(_).createItemStack()).
sortBy(_.getUnlocalizedName).
foreach(list.add)
}
}
// ----------------------------------------------------------------------- //

View File

@ -8,7 +8,7 @@ import net.minecraftforge.fml.relauncher.IFMLLoadingPlugin.MCVersion
import net.minecraftforge.fml.relauncher.IFMLLoadingPlugin.TransformerExclusions
@TransformerExclusions(Array("li.cil.oc.common.asm"))
@MCVersion("1.11.2")
@MCVersion("1.12")
class TransformerLoader extends IFMLLoadingPlugin {
val instance = this

View File

@ -3,7 +3,7 @@ package li.cil.oc.common.recipe
import net.minecraft.inventory.InventoryCrafting
import net.minecraft.item.crafting.IRecipe
import net.minecraftforge.common.ForgeHooks
import net.minecraftforge.fml.common.registry.IForgeRegistryEntry
import net.minecraftforge.registries.IForgeRegistryEntry
trait ContainerItemAwareRecipe extends IForgeRegistryEntry.Impl[IRecipe] with IRecipe {
override def getRemainingItems(inv: InventoryCrafting) = ForgeHooks.defaultRecipeGetRemainingItems(inv)

View File

@ -9,7 +9,7 @@ import net.minecraft.item.ItemStack
import net.minecraft.item.crafting.IRecipe
import net.minecraft.util.NonNullList
import net.minecraft.world.World
import net.minecraftforge.fml.common.registry.IForgeRegistryEntry
import net.minecraftforge.registries.IForgeRegistryEntry
import scala.collection.immutable

View File

@ -26,10 +26,10 @@ import net.minecraftforge.fluids.FluidRegistry
import net.minecraftforge.fluids.FluidStack
import net.minecraftforge.fml.common.Loader
import net.minecraftforge.fml.common.registry.GameRegistry
import net.minecraftforge.fml.common.registry.IForgeRegistryEntry
import net.minecraftforge.oredict.OreDictionary
import net.minecraftforge.oredict.RecipeSorter
import net.minecraftforge.oredict.RecipeSorter.Category
import net.minecraftforge.registries.{GameData, IForgeRegistryEntry}
import org.apache.commons.io.FileUtils
import scala.collection.convert.WrapAsScala._
@ -492,7 +492,7 @@ object Recipes {
class RecipeException(message: String) extends RuntimeException(message)
def addRecipe(recipe: IForgeRegistryEntry.Impl[IRecipe], group: String): IRecipe = GameRegistry.register(recipe.setRegistryName(Settings.resourceDomain, group))
def addRecipe(recipe: IForgeRegistryEntry.Impl[IRecipe], group: String): IRecipe = GameData.register_impl(recipe.setRegistryName(Settings.resourceDomain, group))
private var recipeCounter: Int = 0