Skip to content

Commit

Permalink
Fix Treasure Chests can output/input items if is locked. (#74)
Browse files Browse the repository at this point in the history
  • Loading branch information
r1tsuu authored Mar 6, 2023
1 parent 297cb49 commit 8aff2fb
Show file tree
Hide file tree
Showing 3 changed files with 55 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,28 +2,27 @@

import java.util.Iterator;
import java.util.List;
import java.util.stream.IntStream;

import micdoodle8.mods.galacticraft.api.item.IKeyable;
import micdoodle8.mods.galacticraft.core.GalacticraftCore;
import micdoodle8.mods.galacticraft.core.blocks.BlockT1TreasureChest;
import micdoodle8.mods.galacticraft.core.network.PacketSimple;
import micdoodle8.mods.galacticraft.core.network.PacketSimple.EnumSimplePacket;
import micdoodle8.mods.galacticraft.core.util.Annotations.NetworkedField;
import micdoodle8.mods.galacticraft.core.util.GCCoreUtil;

import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.ContainerChest;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.ISidedInventory;
import net.minecraft.inventory.InventoryLargeChest;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.util.AxisAlignedBB;

import cpw.mods.fml.relauncher.Side;

public class TileEntityTreasureChest extends TileEntityAdvanced implements IInventory, IKeyable {
public class TileEntityTreasureChest extends TileEntityAdvanced implements IInventory, IKeyable, ISidedInventory {

private ItemStack[] chestContents = new ItemStack[27];

Expand Down Expand Up @@ -72,7 +71,6 @@ public class TileEntityTreasureChest extends TileEntityAdvanced implements IInve
*/
private int ticksSinceSync;

@NetworkedField(targetSide = Side.CLIENT)
public boolean locked = true;

public int tier = 1;
Expand Down Expand Up @@ -559,4 +557,19 @@ public int getPacketCooldown() {
public boolean isNetworkedTile() {
return true;
}

@Override
public int[] getAccessibleSlotsFromSide(int slot) {
return IntStream.range(0, getSizeInventory()).toArray();
}

@Override
public boolean canInsertItem(int slot, ItemStack itemStack, int side) {
return !this.locked;
}

@Override
public boolean canExtractItem(int slot, ItemStack itemStack, int side) {
return !this.locked;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,29 @@

import java.util.Iterator;
import java.util.List;
import java.util.stream.IntStream;

import micdoodle8.mods.galacticraft.api.item.IKeyable;
import micdoodle8.mods.galacticraft.core.GalacticraftCore;
import micdoodle8.mods.galacticraft.core.network.PacketSimple;
import micdoodle8.mods.galacticraft.core.network.PacketSimple.EnumSimplePacket;
import micdoodle8.mods.galacticraft.core.tile.TileEntityAdvanced;
import micdoodle8.mods.galacticraft.core.util.Annotations.NetworkedField;
import micdoodle8.mods.galacticraft.core.util.GCCoreUtil;
import micdoodle8.mods.galacticraft.planets.asteroids.blocks.BlockTier3TreasureChest;

import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.ContainerChest;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.ISidedInventory;
import net.minecraft.inventory.InventoryLargeChest;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.util.AxisAlignedBB;

import cpw.mods.fml.relauncher.Side;

public class TileEntityTreasureChestAsteroids extends TileEntityAdvanced implements IInventory, IKeyable {
public class TileEntityTreasureChestAsteroids extends TileEntityAdvanced
implements IInventory, IKeyable, ISidedInventory {

private ItemStack[] chestContents = new ItemStack[36];

Expand Down Expand Up @@ -73,7 +73,6 @@ public class TileEntityTreasureChestAsteroids extends TileEntityAdvanced impleme
*/
private int ticksSinceSync;

@NetworkedField(targetSide = Side.CLIENT)
public boolean locked = true;

public int tier = 3;
Expand Down Expand Up @@ -560,4 +559,19 @@ public int getPacketCooldown() {
public boolean isNetworkedTile() {
return true;
}

@Override
public int[] getAccessibleSlotsFromSide(int slot) {
return IntStream.range(0, getSizeInventory()).toArray();
}

@Override
public boolean canInsertItem(int slot, ItemStack itemStack, int side) {
return !this.locked;
}

@Override
public boolean canExtractItem(int slot, ItemStack itemStack, int side) {
return !this.locked;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,28 @@

import java.util.Iterator;
import java.util.List;
import java.util.stream.IntStream;

import micdoodle8.mods.galacticraft.api.item.IKeyable;
import micdoodle8.mods.galacticraft.core.GalacticraftCore;
import micdoodle8.mods.galacticraft.core.network.PacketSimple;
import micdoodle8.mods.galacticraft.core.network.PacketSimple.EnumSimplePacket;
import micdoodle8.mods.galacticraft.core.tile.TileEntityAdvanced;
import micdoodle8.mods.galacticraft.core.util.Annotations.NetworkedField;
import micdoodle8.mods.galacticraft.core.util.GCCoreUtil;
import micdoodle8.mods.galacticraft.planets.mars.blocks.BlockTier2TreasureChest;

import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.ContainerChest;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.ISidedInventory;
import net.minecraft.inventory.InventoryLargeChest;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.util.AxisAlignedBB;

import cpw.mods.fml.relauncher.Side;

public class TileEntityTreasureChestMars extends TileEntityAdvanced implements IInventory, IKeyable {
public class TileEntityTreasureChestMars extends TileEntityAdvanced implements IInventory, IKeyable, ISidedInventory {

private ItemStack[] chestContents = new ItemStack[36];

Expand Down Expand Up @@ -73,7 +72,6 @@ public class TileEntityTreasureChestMars extends TileEntityAdvanced implements I
*/
private int ticksSinceSync;

@NetworkedField(targetSide = Side.CLIENT)
public boolean locked = true;

public int tier = 2;
Expand Down Expand Up @@ -560,4 +558,19 @@ public int getPacketCooldown() {
public boolean isNetworkedTile() {
return true;
}

@Override
public int[] getAccessibleSlotsFromSide(int slot) {
return IntStream.range(0, getSizeInventory()).toArray();
}

@Override
public boolean canInsertItem(int slot, ItemStack itemStack, int side) {
return !this.locked;
}

@Override
public boolean canExtractItem(int slot, ItemStack itemStack, int side) {
return !this.locked;
}
}

0 comments on commit 8aff2fb

Please sign in to comment.