mirror of
https://github.com/MightyPirates/OpenComputers.git
synced 2025-09-29 07:51:12 -04:00
Acid/Grog related bucket fix from 1.6, forgot the code migrated to another class in 1.7 while merging.
This commit is contained in:
parent
2bae20fea1
commit
71325242aa
@ -97,37 +97,12 @@ object EventHandler {
|
|||||||
|
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
def onCrafting(e: ItemCraftedEvent) = {
|
def onCrafting(e: ItemCraftedEvent) = {
|
||||||
val player = e.player
|
if (e.crafting.isItemEqual(Items.upgradeNavigation.createItemStack())) {
|
||||||
val craftedStack = e.crafting
|
Registry.itemDriverFor(e.crafting) match {
|
||||||
val inventory = e.craftMatrix
|
|
||||||
if (craftedStack.isItemEqual(Items.acid.createItemStack())) {
|
|
||||||
for (i <- 0 until inventory.getSizeInventory) {
|
|
||||||
val stack = inventory.getStackInSlot(i)
|
|
||||||
if (stack != null && stack.getItem == net.minecraft.init.Items.water_bucket) {
|
|
||||||
stack.stackSize = 0
|
|
||||||
inventory.setInventorySlotContents(i, null)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (craftedStack.isItemEqual(Items.pcb.createItemStack())) {
|
|
||||||
for (i <- 0 until inventory.getSizeInventory) {
|
|
||||||
val stack = inventory.getStackInSlot(i)
|
|
||||||
if (stack != null && stack.isItemEqual(Items.acid.createItemStack())) {
|
|
||||||
val container = new ItemStack(net.minecraft.init.Items.bucket, 1)
|
|
||||||
if (!player.inventory.addItemStackToInventory(container)) {
|
|
||||||
player.entityDropItem(container, 0)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (craftedStack.isItemEqual(Items.upgradeNavigation.createItemStack())) {
|
|
||||||
Registry.itemDriverFor(craftedStack) match {
|
|
||||||
case Some(driver) =>
|
case Some(driver) =>
|
||||||
var oldMap = None: Option[ItemStack]
|
var oldMap = None: Option[ItemStack]
|
||||||
for (i <- 0 until inventory.getSizeInventory) {
|
for (i <- 0 until e.craftMatrix.getSizeInventory) {
|
||||||
val stack = inventory.getStackInSlot(i)
|
val stack = e.craftMatrix.getStackInSlot(i)
|
||||||
if (stack != null) {
|
if (stack != null) {
|
||||||
if (stack.isItemEqual(Items.upgradeNavigation.createItemStack())) {
|
if (stack.isItemEqual(Items.upgradeNavigation.createItemStack())) {
|
||||||
// Restore the map currently used in the upgrade.
|
// Restore the map currently used in the upgrade.
|
||||||
@ -136,9 +111,9 @@ object EventHandler {
|
|||||||
}
|
}
|
||||||
else if (stack.getItem == net.minecraft.init.Items.map) {
|
else if (stack.getItem == net.minecraft.init.Items.map) {
|
||||||
// Store information of the map used for crafting in the result.
|
// Store information of the map used for crafting in the result.
|
||||||
val nbt = driver.dataTag(craftedStack)
|
val nbt = driver.dataTag(e.crafting)
|
||||||
val map = stack.getItem.asInstanceOf[ItemMap]
|
val map = stack.getItem.asInstanceOf[ItemMap]
|
||||||
val info = map.getMapData(stack, player.getEntityWorld)
|
val info = map.getMapData(stack, e.player.getEntityWorld)
|
||||||
nbt.setInteger(Settings.namespace + "xCenter", info.xCenter)
|
nbt.setInteger(Settings.namespace + "xCenter", info.xCenter)
|
||||||
nbt.setInteger(Settings.namespace + "zCenter", info.zCenter)
|
nbt.setInteger(Settings.namespace + "zCenter", info.zCenter)
|
||||||
nbt.setInteger(Settings.namespace + "scale", 128 * (1 << info.scale))
|
nbt.setInteger(Settings.namespace + "scale", 128 * (1 << info.scale))
|
||||||
@ -148,8 +123,8 @@ object EventHandler {
|
|||||||
}
|
}
|
||||||
if (oldMap.isDefined) {
|
if (oldMap.isDefined) {
|
||||||
val map = oldMap.get
|
val map = oldMap.get
|
||||||
if (!player.inventory.addItemStackToInventory(map)) {
|
if (!e.player.inventory.addItemStackToInventory(map)) {
|
||||||
player.dropPlayerItemWithRandomChoice(map, false)
|
e.player.dropPlayerItemWithRandomChoice(map, false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
case _ =>
|
case _ =>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user