Skip to content

Commit 17f2ed0

Browse files
committed
Fixed non spawning pokemon rks machine results going poof when shift right clicked.
1 parent 9004691 commit 17f2ed0

File tree

2 files changed

+7
-23
lines changed

2 files changed

+7
-23
lines changed

common/src/main/java/generations/gg/generations/core/generationscore/common/world/container/RksMachineContainer.kt

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ class RksMachineContainer @JvmOverloads constructor(
2222
id: Int,
2323
protected var playerInventory: Inventory,
2424
protected var rksMachine: Container = SimpleContainer(10),
25-
private val data: ContainerData = SimpleContainerData(4)
25+
private val data: ContainerData = SimpleContainerData(3)
2626
) : AbstractContainerMenu(GenerationsContainers.RKS_MACHINE.value(), id), Toggleable {
2727
init {
2828
rksMachine.instanceOrNull<RksMachineBlockEntity>()?.addMenu(this)
@@ -66,7 +66,7 @@ class RksMachineContainer @JvmOverloads constructor(
6666
val playerLast = slots.lastIndex
6767

6868
if (index == 0) {
69-
if (isPokemonPresent) {
69+
if (rksMachine.instanceOrNull<RksMachineBlockEntity>()?.lastRecipe?.value?.result?.isPokemon == true) {
7070
slot.onTake(player, stack)
7171
slot.set(ItemStack.EMPTY)
7272
return ItemStack.EMPTY
@@ -104,11 +104,7 @@ class RksMachineContainer @JvmOverloads constructor(
104104
override var isToggled: Boolean
105105
get() = data[2] == 1
106106
set(value) { setData(2, if (value) 1 else 0) }
107-
108-
val isPokemonPresent: Boolean
109-
get() = data[3] == 1
110-
111-
107+
112108
override fun removed(player: Player) {
113109
super.removed(player)
114110

common/src/main/java/generations/gg/generations/core/generationscore/common/world/level/block/entities/RksMachineBlockEntity.kt

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,12 @@ package generations.gg.generations.core.generationscore.common.world.level.block
33
import com.cobblemon.mod.common.pokemon.Pokemon
44
import com.cobblemon.mod.common.util.server
55
import com.google.common.collect.Lists
6+
import generations.gg.generations.core.generationscore.common.client.render.rarecandy.instanceOrNull
67
import generations.gg.generations.core.generationscore.common.compat.jei.asValue
78
import generations.gg.generations.core.generationscore.common.recipe.RksInput
89
import generations.gg.generations.core.generationscore.common.world.container.RksMachineContainer
910
import generations.gg.generations.core.generationscore.common.world.recipe.GenerationsCoreRecipeTypes
11+
import generations.gg.generations.core.generationscore.common.world.recipe.PokemonResult
1012
import generations.gg.generations.core.generationscore.common.world.recipe.RksRecipe
1113
import generations.gg.generations.core.generationscore.common.world.sound.GenerationsSounds
1214
import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap
@@ -40,6 +42,7 @@ import net.minecraft.world.level.Level
4042
import net.minecraft.world.level.block.state.BlockState
4143
import net.minecraft.world.phys.Vec3
4244
import java.util.*
45+
import kotlin.jvm.optionals.getOrNull
4346

4447
open class RksMachineBlockEntity(pos: BlockPos, state: BlockState) :
4548
ModelProvidingBlockEntity(GenerationsBlockEntities.RKS_MACHINE, pos, state), MenuProvider,
@@ -70,7 +73,6 @@ open class RksMachineBlockEntity(pos: BlockPos, state: BlockState) :
7073
0 -> this@RksMachineBlockEntity.processingTime
7174
1 -> this@RksMachineBlockEntity.processTimeTotal
7275
2 -> if (this@RksMachineBlockEntity.isProcessing) 1 else 0
73-
3 -> if (pokemon.isPresent) 1 else 0
7476
else -> 0
7577
}
7678
}
@@ -83,7 +85,7 @@ open class RksMachineBlockEntity(pos: BlockPos, state: BlockState) :
8385
}
8486

8587
override fun getCount(): Int {
86-
return 4
88+
return 3
8789
}
8890
}
8991
}
@@ -119,20 +121,6 @@ open class RksMachineBlockEntity(pos: BlockPos, state: BlockState) :
119121
return RksMachineContainer(syncId, inv, this, dataAccess)
120122
}
121123

122-
// @Override
123-
// public int[] getSlotsForFace(Direction dir) {
124-
// return (dir == Direction.DOWN && (!output.isEmpty() || getCurrentRecipe().isPresent())) ? OUTPUT_SLOTS : INPUT_SLOTS;
125-
// }
126-
//
127-
// @Override
128-
// public boolean canPlaceItemThroughFace(int slot, ItemStack stack, Direction dir) {
129-
// return slot > 0 && getItem(slot).isEmpty();
130-
// }
131-
//
132-
// @Override
133-
// public boolean canTakeItemThroughFace(int slot, ItemStack stack, Direction dir) {
134-
// return slot != 0 || !output.isEmpty() || getCurrentRecipe().isPresent();
135-
// }
136124
override fun canPlaceItem(slot: Int, stack: ItemStack): Boolean {
137125
return slot != 0 && slot <= containerSize
138126
}

0 commit comments

Comments
 (0)