further development

This commit is contained in:
Jörg Henke 2020-08-22 17:26:56 +02:00
parent 23b88f3da1
commit d338516897

View File

@ -4,6 +4,12 @@ import de.jottyfan.minecraft.quickiefabric.container.BackpackScreenHandler;
import de.jottyfan.minecraft.quickiefabric.init.RegistryManager; import de.jottyfan.minecraft.quickiefabric.init.RegistryManager;
import io.netty.buffer.Unpooled; import io.netty.buffer.Unpooled;
import net.fabricmc.fabric.api.screenhandler.v1.ExtendedScreenHandlerFactory; import net.fabricmc.fabric.api.screenhandler.v1.ExtendedScreenHandlerFactory;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.block.Blocks;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.block.entity.BlockEntityType;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.PlayerInventory; import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.item.DyeableItem; import net.minecraft.item.DyeableItem;
@ -17,6 +23,7 @@ import net.minecraft.text.Text;
import net.minecraft.util.ActionResult; import net.minecraft.util.ActionResult;
import net.minecraft.util.Hand; import net.minecraft.util.Hand;
import net.minecraft.util.TypedActionResult; import net.minecraft.util.TypedActionResult;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World; import net.minecraft.world.World;
/** /**
@ -61,7 +68,18 @@ public class ItemBackpack extends Item implements DyeableItem {
@Override @Override
public ActionResult useOnBlock(ItemUsageContext context) { public ActionResult useOnBlock(ItemUsageContext context) {
// TODO implement unloading by right clicking on a chest; if left click, load as much as possible BlockPos pos = context.getBlockPos();
World world = context.getWorld();
BlockState blockState = world.getBlockState(pos);
Block block = blockState.getBlock();
if (Blocks.CHEST.equals(block)) {
BlockEntity entity = world.getBlockEntity(pos);
BlockEntityType<?> type = entity.getType();
if (BlockEntityType.CHEST.equals(type)) {
// TODO: create a new dialog for transferring items from backpack to chest and back
// with the help of some buttons (such as all or so)
}
}
return super.useOnBlock(context); return super.useOnBlock(context);
} }
} }