From dd35d5e3f1c6a7fbf77acbca4356119d6ee32b86 Mon Sep 17 00:00:00 2001 From: jottyfan Date: Thu, 26 Aug 2021 11:55:35 +0200 Subject: [PATCH] sorting fixed --- gradle.properties | 2 +- .../blocks/BlockOreNetherSulphor.java | 3 +- .../blocks/BlockOreSalpeter.java | 4 ++- .../blocks/BlockOreSandSalpeter.java | 3 +- .../quickiefabric/blocks/BlockOreSulphor.java | 3 +- .../blocks/BlockSandSalpeter.java | 3 +- .../quickiefabric/blocks/BlockSulphor.java | 3 +- .../container/BackpackInventory.java | 29 +++++++++---------- .../quickiefabric/items/ItemBackpack.java | 13 +++++---- .../tools/ToolSpeedpowderPickaxe.java | 7 ++--- 10 files changed, 38 insertions(+), 32 deletions(-) diff --git a/gradle.properties b/gradle.properties index 7cf0673..f234a45 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,7 +8,7 @@ org.gradle.jvmargs=-Xmx1G loader_version=0.11.6 # Mod Properties - mod_version = 1.17.1.3 + mod_version = 1.17.1.4 maven_group = de.jottyfan.minecraft archives_base_name = quickiefabric diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreNetherSulphor.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreNetherSulphor.java index 6a785f5..10d236e 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreNetherSulphor.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreNetherSulphor.java @@ -5,6 +5,7 @@ import java.util.List; import de.jottyfan.minecraft.quickiefabric.items.QuickieItems; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags; import net.minecraft.block.BlockState; import net.minecraft.block.Material; import net.minecraft.block.OreBlock; @@ -19,7 +20,7 @@ import net.minecraft.loot.context.LootContext.Builder; public class BlockOreNetherSulphor extends OreBlock { public BlockOreNetherSulphor() { - super(FabricBlockSettings.of(Material.STONE).hardness(2.1f)); + super(FabricBlockSettings.of(Material.STONE).hardness(2.1f).requiresTool().breakByTool(FabricToolTags.PICKAXES)); } @Override diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreSalpeter.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreSalpeter.java index 76554ee..31ee4ba 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreSalpeter.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreSalpeter.java @@ -4,7 +4,9 @@ import java.util.Arrays; import java.util.List; import de.jottyfan.minecraft.quickiefabric.items.QuickieItems; +import de.jottyfan.minecraft.quickiefabric.tools.QuickieTools; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags; import net.minecraft.block.BlockState; import net.minecraft.block.Material; import net.minecraft.block.OreBlock; @@ -19,7 +21,7 @@ import net.minecraft.loot.context.LootContext.Builder; public class BlockOreSalpeter extends OreBlock { public BlockOreSalpeter() { - super(FabricBlockSettings.of(Material.STONE).hardness(3.1f)); + super(FabricBlockSettings.of(Material.STONE).hardness(3.1f).requiresTool().breakByTool(FabricToolTags.PICKAXES)); } @Override diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreSandSalpeter.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreSandSalpeter.java index 85c4579..3d65bea 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreSandSalpeter.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreSandSalpeter.java @@ -5,6 +5,7 @@ import java.util.List; import de.jottyfan.minecraft.quickiefabric.items.QuickieItems; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; import net.minecraft.block.Material; @@ -20,7 +21,7 @@ import net.minecraft.loot.context.LootContext.Builder; public class BlockOreSandSalpeter extends OreBlock { public BlockOreSandSalpeter() { - super(FabricBlockSettings.of(Material.STONE).hardness(2.9f)); + super(FabricBlockSettings.of(Material.STONE).hardness(2.9f).requiresTool().breakByTool(FabricToolTags.PICKAXES)); } @Override diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreSulphor.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreSulphor.java index 1e5fea4..f4bf5e9 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreSulphor.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreSulphor.java @@ -5,6 +5,7 @@ import java.util.List; import de.jottyfan.minecraft.quickiefabric.items.QuickieItems; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags; import net.minecraft.block.BlockState; import net.minecraft.block.Material; import net.minecraft.block.OreBlock; @@ -19,7 +20,7 @@ import net.minecraft.loot.context.LootContext.Builder; public class BlockOreSulphor extends OreBlock { public BlockOreSulphor() { - super(FabricBlockSettings.of(Material.STONE).hardness(1.9f)); + super(FabricBlockSettings.of(Material.STONE).hardness(1.9f).requiresTool().breakByTool(FabricToolTags.PICKAXES)); } @Override diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockSandSalpeter.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockSandSalpeter.java index e84f573..ad79764 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockSandSalpeter.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockSandSalpeter.java @@ -5,6 +5,7 @@ import java.util.List; import de.jottyfan.minecraft.quickiefabric.items.QuickieItems; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; import net.minecraft.block.GravelBlock; @@ -20,7 +21,7 @@ import net.minecraft.loot.context.LootContext.Builder; public class BlockSandSalpeter extends GravelBlock { public BlockSandSalpeter() { - super(FabricBlockSettings.of(Material.STONE).hardness(3.1f)); + super(FabricBlockSettings.of(Material.STONE).hardness(3.1f).requiresTool().breakByTool(FabricToolTags.SHOVELS)); } @Override diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockSulphor.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockSulphor.java index ebca09d..5733f7f 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockSulphor.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockSulphor.java @@ -5,6 +5,7 @@ import java.util.List; import de.jottyfan.minecraft.quickiefabric.items.QuickieItems; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.Material; @@ -19,7 +20,7 @@ import net.minecraft.loot.context.LootContext.Builder; public class BlockSulphor extends Block { public BlockSulphor() { - super(FabricBlockSettings.of(Material.WOOL).hardness(0.5f)); + super(FabricBlockSettings.of(Material.WOOL).hardness(0.5f).requiresTool().breakByTool(FabricToolTags.PICKAXES)); } @Override 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 430544d..c589d73 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/container/BackpackInventory.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/container/BackpackInventory.java @@ -4,9 +4,6 @@ import java.util.ArrayList; import java.util.Collection; import java.util.List; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - import de.jottyfan.minecraft.quickiefabric.items.ItemBackpack; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.inventory.SimpleInventory; @@ -24,8 +21,6 @@ import net.minecraft.util.Hand; * */ public class BackpackInventory extends SimpleInventory { - private static final Logger LOGGER = LogManager.getLogger(BackpackInventory.class); - private static final String NBT_BACKPACK = "backpack"; private static final String NBT_SLOT = "slot"; private static final String NBT_ITEMS = "items"; @@ -131,21 +126,25 @@ public class BackpackInventory extends SimpleInventory { /** * set the items in the itemStack that contains the backpack * - * @param itemStack the backpack's itemStack - * @param itemStacks the collection of itemStacks for the backpack + * @param itemStack the backpack's itemStack + * @param itemStacks the collection of lists of itemStacks for the backpack */ - public static void setItemsToBackpack(ItemStack itemStack, Collection itemStacks) { + public static void setItemsToBackpack(ItemStack itemStack, Collection> itemStacks) { NbtList listTag = new NbtList(); Integer slot = 0; - for (ItemStack stack : itemStacks) { - if (!(stack == null) && !stack.isEmpty()) { - Integer leftCount = stack.getCount(); + for (List stacks : itemStacks) { + if (stacks != null && stacks.size() > 0) { + ItemStack stack = stacks.get(0); + Integer leftCount = 0; + for (ItemStack is : stacks) { + leftCount += is.getCount(); + } while (leftCount > 0) { - LOGGER.info("add {}x{} to backpack", stack.getCount(), stack.getTranslationKey()); - if (stack.getCount() > stack.getMaxCount()) { - leftCount = stack.getCount() - stack.getMaxCount(); - stack.setCount(leftCount); + if (leftCount > stack.getMaxCount()) { + stack.setCount(stack.getMaxCount()); + leftCount = leftCount - stack.getMaxCount(); } else { + stack.setCount(leftCount); leftCount = 0; } listTag.add(prepareCompoundTag(slot, stack)); diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/items/ItemBackpack.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/items/ItemBackpack.java index e229507..87fb85b 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/items/ItemBackpack.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/items/ItemBackpack.java @@ -1,5 +1,6 @@ package de.jottyfan.minecraft.quickiefabric.items; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -84,15 +85,15 @@ public class ItemBackpack extends Item { private ItemStack sortBackpackContent(ItemStack itemStack) { if (!itemStack.isEmpty()) { List stacks = BackpackInventory.getItemsFromBackpack(itemStack); - Map map = new HashMap<>(); + Map> map = new HashMap<>(); for (ItemStack stack : stacks) { String id = stack.getItem().getTranslationKey(); - ItemStack foundStack = map.get(id); - if (foundStack == null) { - map.put(id, stack); - } else { - foundStack.setCount(foundStack.getCount() + stack.getCount()); + List foundStacks = map.get(id); + if (foundStacks == null) { + foundStacks = new ArrayList<>(); + map.put(id, foundStacks); } + foundStacks.add(stack); } BackpackInventory.setItemsToBackpack(itemStack, map.values()); } 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 741f41e..26e57f3 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/tools/ToolSpeedpowderPickaxe.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/tools/ToolSpeedpowderPickaxe.java @@ -20,13 +20,12 @@ import net.minecraft.nbt.NbtCompound; */ public class ToolSpeedpowderPickaxe extends PickaxeItem implements ToolRangeable { - public static final int[] DEFAULT_HARVEST_RANGE = new int[] {3, 3, 3}; + public static final int[] DEFAULT_HARVEST_RANGE = new int[] { 3, 3, 3 }; public ToolSpeedpowderPickaxe() { super(ToolMaterials.DIAMOND, 4, 2.0f, new Item.Settings().group(RegistryManager.QUICKIEFABRIC_GROUP)); - } - + @Override public HarvestRange getRange(ItemStack stack) { NbtCompound tag = stack.getNbt(); @@ -58,7 +57,7 @@ public class ToolSpeedpowderPickaxe extends PickaxeItem implements ToolRangeable harvestRange.addXYZ(plusRange); tag.putIntArray("range", harvestRange.getRangeAsArray()); } - + // @Override // public ActionResult onItemRightClick(World worldIn, PlayerEntity playerIn, Hand handIn) { // CommonToolCode.onItemRightClick(worldIn, playerIn, handIn);