From 2ec6179053c913ba36ed666da325dac8e9e0c6a5 Mon Sep 17 00:00:00 2001 From: jottyfan Date: Sat, 26 Sep 2020 16:04:15 +0200 Subject: [PATCH] forbid backpack to place itself into it --- gradle.properties | 2 +- .../blocks/BlockLavahoarder.java | 3 +- .../container/BackpackInventory.java | 81 +++--------------- .../container/BackpackScreen.java | 19 ++-- .../container/BackpackScreenHandler.java | 45 +++++----- .../quickiefabric/init/RegistryManager.java | 4 +- .../tools/ToolSpeedpowderPickaxe.java | 7 +- .../tools/ToolSpeedpowderShovel.java | 3 +- .../quickiefabric/textures/gui/backpack.png | Bin 11859 -> 35433 bytes 9 files changed, 52 insertions(+), 112 deletions(-) diff --git a/gradle.properties b/gradle.properties index 6c431e6..1f6d91a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,7 +8,7 @@ org.gradle.jvmargs=-Xmx1G loader_version=0.9.3+build.207 # Mod Properties - mod_version = 1.16.3.0 + mod_version = 1.16.3.1 maven_group = de.jottyfan.minecraft archives_base_name = quickiefabric diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockLavahoarder.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockLavahoarder.java index c5436bc..a244c0a 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockLavahoarder.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockLavahoarder.java @@ -29,7 +29,7 @@ import net.minecraft.world.World; public class BlockLavahoarder extends Block { public BlockLavahoarder() { - super(FabricBlockSettings.of(Material.STONE).hardness(2.5f)); + super(FabricBlockSettings.of(Material.STONE).hardness(2.5f).lightLevel(16)); } @Override @@ -39,7 +39,6 @@ public class BlockLavahoarder extends Block { return list; } - private static final String stringOf(BlockPos pos) { StringBuilder buf = new StringBuilder(); buf.append(pos.getX()).append(":"); diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/container/BackpackInventory.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/container/BackpackInventory.java index ec93cd5..7cfa5db 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/container/BackpackInventory.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/container/BackpackInventory.java @@ -2,30 +2,25 @@ package de.jottyfan.minecraft.quickiefabric.container; import de.jottyfan.minecraft.quickiefabric.items.ItemBackpack; import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.inventory.Inventories; -import net.minecraft.inventory.Inventory; +import net.minecraft.inventory.SimpleInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.ListTag; import net.minecraft.sound.SoundCategory; import net.minecraft.sound.SoundEvents; import net.minecraft.util.Hand; -import net.minecraft.util.collection.DefaultedList; /** * * @author jotty * */ -public class BackpackInventory implements Inventory { - private final DefaultedList stacks; - private final BackpackScreenHandler handler; +public class BackpackInventory extends SimpleInventory { private Hand hand; private BackpackInventory(CompoundTag tag, BackpackScreenHandler handler) { - this.handler = handler; - this.stacks = DefaultedList.ofSize(ItemBackpack.SLOTSIZE, ItemStack.EMPTY); - readItemsFromTag(this.stacks, tag); + super(ItemBackpack.SLOTSIZE); + readItemsFromTag(super.size(), tag); } public static final BackpackInventory getInventory(BackpackScreenHandler handler, PlayerEntity player, @@ -41,64 +36,15 @@ public class BackpackInventory implements Inventory { return new BackpackInventory(stack.getTag().getCompound("backpack"), handler); } - public DefaultedList getList() { - return stacks; - } - - @Override - public void clear() { - stacks.clear(); - markDirty(); - } - - @Override - public boolean canPlayerUse(PlayerEntity player) { - return true; - } - - @Override - public ItemStack getStack(int slot) { - return slot >= stacks.size() ? ItemStack.EMPTY : stacks.get(slot); - } - - @Override - public boolean isEmpty() { - return this.stacks.stream().allMatch(ItemStack::isEmpty); - } - - @Override - public ItemStack removeStack(int slot) { - return Inventories.removeStack(this.stacks, slot); - } - - @Override - public ItemStack removeStack(int slot, int amount) { - return Inventories.splitStack(stacks, slot, amount); - } - - @Override - public void setStack(int slot, ItemStack stack) { - this.stacks.set(slot, stack); - } - - @Override - public int size() { - return stacks.size(); - } - - @Override - public void markDirty() { - } - @Override public void onOpen(PlayerEntity player) { - Inventory.super.onOpen(player); + super.onOpen(player); player.playSound(SoundEvents.BLOCK_WOOL_PLACE, SoundCategory.PLAYERS, 1f, 1f); } @Override public void onClose(PlayerEntity player) { - Inventory.super.onClose(player); + super.onClose(player); ItemStack stack = player.getStackInHand(hand); if (stack != null) { if (!stack.hasTag()) { @@ -110,24 +56,23 @@ public class BackpackInventory implements Inventory { player.playSound(SoundEvents.BLOCK_WOOL_PLACE, SoundCategory.PLAYERS, 1f, 1f); } - private void readItemsFromTag(DefaultedList inventory, CompoundTag tag) { + private void readItemsFromTag(Integer size, CompoundTag tag) { ListTag listTag = tag.getList("items", 10); for (int i = 0; i < listTag.size(); ++i) { CompoundTag compoundTag = listTag.getCompound(i); - int j = compoundTag.getInt("slot"); + int slot = compoundTag.getInt("slot"); - if (j >= 0 && j < inventory.size()) { - inventory.set(j, ItemStack.fromTag(compoundTag)); + if (slot >= 0 && slot < size) { + super.setStack(slot, ItemStack.fromTag(compoundTag)); } } } private CompoundTag writeItemsToTag() { - DefaultedList inventory = stacks; ListTag listTag = new ListTag(); - for (int i = 0; i < inventory.size(); ++i) { - ItemStack itemStack = (ItemStack) inventory.get(i); - if (!itemStack.isEmpty()) { + for (int i = 0; i < super.size(); ++i) { + ItemStack itemStack = (ItemStack) super.getStack(i); + if (!(itemStack == null) && !itemStack.isEmpty()) { CompoundTag compoundTag = new CompoundTag(); compoundTag.putInt("slot", i); compoundTag = itemStack.toTag(compoundTag); diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/container/BackpackScreen.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/container/BackpackScreen.java index 74a3653..4614c8d 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/container/BackpackScreen.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/container/BackpackScreen.java @@ -22,10 +22,8 @@ import net.minecraft.util.Identifier; @Environment(EnvType.CLIENT) public class BackpackScreen extends HandledScreen implements ScreenHandlerProvider { - private final static Identifier TEXTURE = new Identifier(RegistryManager.QUICKIEFABRIC, - "textures/gui/backpack.png"); - private final static Identifier SLOT_TEXTURE = new Identifier(RegistryManager.QUICKIEFABRIC, - "textures/gui/slot.png"); + private final static Identifier TEXTURE = new Identifier(RegistryManager.QUICKIEFABRIC, "textures/gui/backpack.png"); + private final static Identifier SLOT_TEXTURE = new Identifier(RegistryManager.QUICKIEFABRIC, "textures/gui/slot.png"); private final Integer containerHeight = 222; private final Integer containerWidth = 176; @@ -38,18 +36,14 @@ public class BackpackScreen extends HandledScreen super.init(); this.x = (this.width - this.containerWidth) / 2; } - + private void drawSlots(MatrixStack matrices, int guiX, int guiY) { this.client.getTextureManager().bindTexture(SLOT_TEXTURE); - for (int y = 0; y < (ItemBackpack.SLOTSIZE / 9); y++) + for (int y = 0; y < (ItemBackpack.SLOTSIZE / 9); y++) { for (int x = 0; x < 9; x++) { this.drawTexture(matrices, guiX + 7 + (x * 18), guiY + 17 + (y * 18), 0, 0, 18, 18); } - - if ((ItemBackpack.SLOTSIZE % 9) != 0) - for (int x = 0; x < (ItemBackpack.SLOTSIZE % 9); x++) { - this.drawTexture(matrices, guiX + 7 + (x * 18), guiY + 17 + (ItemBackpack.SLOTSIZE / 9 * 18), 0, 0, 18, 18); - } + } } @Override @@ -72,7 +66,6 @@ public class BackpackScreen extends HandledScreen @Override protected void drawForeground(MatrixStack matrixStack, int i, int j) { - this.textRenderer.draw(matrixStack, this.title, 8.0F, -20.0F, 4210752); - this.textRenderer.draw(matrixStack, this.playerInventory.getDisplayName(), 8.0F, 101f, 4210752); + this.textRenderer.draw(matrixStack, this.title, 8.0F, -20.0F, 0xffcccccc); // αrgb } } diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/container/BackpackScreenHandler.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/container/BackpackScreenHandler.java index 815c6ad..fb632f2 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/container/BackpackScreenHandler.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/container/BackpackScreenHandler.java @@ -1,8 +1,5 @@ package de.jottyfan.minecraft.quickiefabric.container; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - import de.jottyfan.minecraft.quickiefabric.init.RegistryManager; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; @@ -17,22 +14,18 @@ import net.minecraft.screen.slot.SlotActionType; import net.minecraft.util.Hand; public class BackpackScreenHandler extends ScreenHandler { - private final Logger LOGGER = LogManager.getLogger(BackpackScreenHandler.class); - + private final BackpackInventory backpackInventory; private final PlayerEntity player; - private final PlayerInventory playerInventory; + private final ItemStack thisStack; private final Hand hand; public BackpackScreenHandler(int syncId, PlayerInventory playerInventory, PacketByteBuf buf) { super(RegistryManager.BACKPACK_SCREEN_HANDLER, syncId); - this.playerInventory = playerInventory; this.player = playerInventory.player; - ItemStack stack = buf.readItemStack(); + thisStack = buf.readItemStack(); this.hand = buf.readByte() > 0 ? Hand.MAIN_HAND : Hand.OFF_HAND; - this.backpackInventory = BackpackInventory.getInventory(this, player, stack); - - int spacing = 112; + this.backpackInventory = BackpackInventory.getInventory(this, player, thisStack); backpackInventory.onOpen(player); for (int y = 0; y < 6; y++) { @@ -42,18 +35,18 @@ public class BackpackScreenHandler extends ScreenHandler { } for (int y = 0; y < 3; ++y) { for (int x = 0; x < 9; ++x) { - this.addSlot(new Slot(playerInventory, x + y * 9 + 9, 8 + x * 18, spacing + y * 18)); + this.addSlot(new Slot(playerInventory, x + (y * 9) + 9, 8 + x * 18, 112 + y * 18)); } } for (int x = 0; x < 9; ++x) { - this.addSlot(new Slot(playerInventory, x, 8 + x * 18, 58 + spacing)); + this.addSlot(new Slot(playerInventory, x, 8 + x * 18, 170)); } } public PlayerEntity getPlayer() { return this.player; } - + public Inventory getInventory() { return backpackInventory; } @@ -92,16 +85,20 @@ public class BackpackScreenHandler extends ScreenHandler { } return copy; } - + @Override - public ItemStack onSlotClick(int i, int j, SlotActionType actionType, PlayerEntity playerEntity) { - LOGGER.info("click on slot at {},{} with actionType {} by {}", i, j, actionType, playerEntity); - // TODO: prevent the one slot that contains the active backpack item - return super.onSlotClick(i, j, actionType, playerEntity); + public ItemStack onSlotClick(int slotId, int quickCraftData, SlotActionType actionType, PlayerEntity playerEntity) { + if (slotId >= 0) { + ItemStack stack = getSlot(slotId).getStack(); + if (stack.getName().equals(thisStack.getName())) { + return stack; + } + } + return super.onSlotClick(slotId, quickCraftData, actionType, playerEntity); + } + + @Environment(EnvType.CLIENT) + public int getRows() { + return 6; } - - @Environment(EnvType.CLIENT) - public int getRows() { - return 6; - } } diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/init/RegistryManager.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/init/RegistryManager.java index 9cbed09..ee40b60 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/init/RegistryManager.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/init/RegistryManager.java @@ -40,9 +40,9 @@ import net.minecraft.world.gen.GenerationStep; import net.minecraft.world.gen.decorator.ChanceDecoratorConfig; import net.minecraft.world.gen.decorator.Decorator; import net.minecraft.world.gen.decorator.RangeDecoratorConfig; +import net.minecraft.world.gen.feature.ConfiguredFeature; import net.minecraft.world.gen.feature.Feature; import net.minecraft.world.gen.feature.OreFeatureConfig; -import net.minecraft.world.gen.feature.ConfiguredFeature; import net.minecraft.world.gen.feature.SimpleBlockFeatureConfig; /** @@ -146,7 +146,7 @@ public class RegistryManager { registerItem(QuickieTools.SPEEDPOWDERPICKAXE, "speedpowderpickaxe"); registerItem(QuickieTools.SPEEDPOWDERSHOVEL, "speedpowdershovel"); } - + public static final void registerContainer() { // ScreenHandlerRegistry.registerSimple(BACKPACK_CONTAINTER, (syncId, inventory) -> new BackpackScreenHandler(syncId, inventory)); } diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/tools/ToolSpeedpowderPickaxe.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/tools/ToolSpeedpowderPickaxe.java index d9d4a2e..f816fc5 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/tools/ToolSpeedpowderPickaxe.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/tools/ToolSpeedpowderPickaxe.java @@ -18,11 +18,12 @@ import net.minecraft.item.ToolMaterials; */ public class ToolSpeedpowderPickaxe extends PickaxeItem implements ToolRangeable { + public static final Integer DEFAULT_HARVEST_RANGE = 3; private HarvestRange range; public ToolSpeedpowderPickaxe() { super(ToolMaterials.DIAMOND, 4, 2.0f, new Item.Settings().group(RegistryManager.QUICKIEFABRIC_GROUP)); - this.range = new HarvestRange(3); + this.range = new HarvestRange(DEFAULT_HARVEST_RANGE); } @Override @@ -40,6 +41,10 @@ public class ToolSpeedpowderPickaxe extends PickaxeItem implements ToolRangeable return Lists.newArrayList(block); } + public void setPlusRange(Integer plusRange) { + range.addXYZ(plusRange); + } + // @Override // public ActionResult onItemRightClick(World worldIn, PlayerEntity playerIn, Hand handIn) { // CommonToolCode.onItemRightClick(worldIn, playerIn, handIn); diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/tools/ToolSpeedpowderShovel.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/tools/ToolSpeedpowderShovel.java index 2162ea7..5f398fe 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/tools/ToolSpeedpowderShovel.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/tools/ToolSpeedpowderShovel.java @@ -23,11 +23,12 @@ import net.minecraft.util.registry.Registry; */ public class ToolSpeedpowderShovel extends ShovelItem implements ToolRangeable { private static final Logger LOGGER = LogManager.getLogger(ToolSpeedpowderShovel.class); + public static final Integer DEFAULT_HARVEST_RANGE = 3; public HarvestRange range; public ToolSpeedpowderShovel() { super(ToolMaterials.DIAMOND, 4, 2.0f, new Item.Settings().group(RegistryManager.QUICKIEFABRIC_GROUP)); - this.range = new HarvestRange(3); + this.range = new HarvestRange(DEFAULT_HARVEST_RANGE); } @Override diff --git a/src/main/resources/assets/quickiefabric/textures/gui/backpack.png b/src/main/resources/assets/quickiefabric/textures/gui/backpack.png index 345f09a41b38b7f8854d8d182363e6c8f950fb95..f24c05bcd7b53283fe20f3d7656a37ab8394d035 100644 GIT binary patch delta 31632 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 A-2eap delta 8004 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 ZT?;4g)p?`I9si!HqM#xFQTA=v{{n5-#s>fZ