Jump to content

[1.15.2] Furnace with different fluid fuels for different recipes


Recommended Posts

Posted

I am a beginner and i tried using all the recommendations. Any help or direction to a good example or idea to start this again differently is extremely helpful. I have already tried other methods so rewriting this project 

My project is on this branch : https://github.com/Razvan5/MinecraftFoodWorld/tree/workingpot but i also pasted the important classes here.

My tile entity is a "pot" that should be able to "boil" my recipes using the fluid determined by the custom recipe but i ran in a major problem: my screen cannot obtain the fluid from my container and i have a hard time remodeling the problem.

I use the vanilla ShapedCrafting and AbstractCookingRecipe for the Serializer and the recipes of my pot and an old moded furnace example that seemed much easier for me to modify but create more problems in the long run.

Big problems i am trying to fix: 

  • Use IItemHandler instead of IInventory for PotZoneContents
  • Modify PotStateData so i can save non-int data to the NBT
  • Displaying the fluid texture in the screen and all the progress bar with information on percentage (as i made the fluidRegistryName a static string, although useful for testing, I realized way too late why it is a bad idea)
  • The progress arrow or info stops if i implement listeners (methods like addListener() or removeListener() and UpdateProgressBar())
  • The PotBlock class has too many states for somthing identical NS and WE
  • Change the getters and setters in Abstract Pot Recipe so i only send the registry name of the fluid instead of a fluidstack object
  • Change the transferStackInSlot and validateSlot methods to actually work
  • Display the correct UV texture of the fluid not a stretched out version

 

What i want to achieve (I do not want to hardcode the fluids)

water.png.0b6ec9c2406133ae2696517e2e646ff5.pnglava.png.c116aa2cd1a907e777ffee90f8e3baa9.png      

public class PotContainer extends Container {
    // stuff for tracking string arrays instead of int?
    private final List<IntReferenceHolder> trackedIntReferences = Lists.newArrayList();
    private final List<IContainerListener> listeners = Lists.newArrayList();

    private String fluidName = "minecraft:empty";

    public static PotContainer createContainerServerSide(int windowID, PlayerInventory playerInventory,
                                                       PotZoneContents inputZoneContents,
                                                       PotZoneContents outputZoneContents,
                                                       PotZoneContents fuelZoneContents,
                                                       PotStateData potStateData) {
    return new PotContainer(windowID, playerInventory,
            inputZoneContents, outputZoneContents, fuelZoneContents, potStateData);
  }

  public static PotContainer createContainerClientSide(int windowID, PlayerInventory playerInventory, net.minecraft.network.PacketBuffer extraData) {
    //  don't need extraData for this example; if you want you can use it to provide extra information from the server, that you can use
    //  when creating the client container
    //  eg String detailedDescription = extraData.readString(128);
    PotZoneContents inputZoneContents = PotZoneContents.createForClientSideContainer(INPUT_SLOTS_COUNT);
    PotZoneContents outputZoneContents = PotZoneContents.createForClientSideContainer(OUTPUT_SLOTS_COUNT);
    PotZoneContents fuelZoneContents = PotZoneContents.createForClientSideContainer(FUEL_SLOTS_COUNT);
    PotStateData potStateData = new PotStateData();

    // on the client side there is no parent TileEntity to communicate with, so we:
    // 1) use dummy inventories and furnace state data (tracked ints)
    // 2) use "do nothing" lambda functions for canPlayerAccessInventory and markDirty
    return new PotContainer(windowID, playerInventory,
                                inputZoneContents, outputZoneContents, fuelZoneContents, potStateData);
  }

    // must assign a slot index to each of the slots used by the GUI.
	// For this container, we can see the furnace fuel, input, and output slots as well as the player inventory slots and the hotbar.
	// Each time we add a Slot to the container using addSlotToContainer(), it automatically increases the slotIndex, which means
	//  0 - 8 = hotbar slots (which will map to the InventoryPlayer slot numbers 0 - 8)
	//  9 - 35 = player inventory slots (which map to the InventoryPlayer slot numbers 9 - 35)
	//  36 - 39 = fuel slots (potStateData 0 - 3)
	//  40 - 44 = input slots (potStateData 4 - 8)
	//  45 - 49 = output slots (potStateData 9 - 13)

	private static final int HOTBAR_SLOT_COUNT = 9;
	private static final int PLAYER_INVENTORY_ROW_COUNT = 3;
	private static final int PLAYER_INVENTORY_COLUMN_COUNT = 9;
	private static final int PLAYER_INVENTORY_SLOT_COUNT = PLAYER_INVENTORY_COLUMN_COUNT * PLAYER_INVENTORY_ROW_COUNT;
	private static final int VANILLA_SLOT_COUNT = HOTBAR_SLOT_COUNT + PLAYER_INVENTORY_SLOT_COUNT;

	public static final int FUEL_SLOTS_COUNT = PotTileEntity.FUEL_SLOTS_COUNT;
	public static final int INPUT_SLOTS_COUNT = PotTileEntity.INPUT_SLOTS_COUNT;
	public static final int OUTPUT_SLOTS_COUNT = PotTileEntity.OUTPUT_SLOTS_COUNT;
	public static final int FURNACE_SLOTS_COUNT = FUEL_SLOTS_COUNT + INPUT_SLOTS_COUNT + OUTPUT_SLOTS_COUNT;

	// slot index is the unique index for all slots in this container i.e. 0 - 35 for invPlayer then 36 - 49 for furnaceContents
	private static final int VANILLA_FIRST_SLOT_INDEX = 0;
    private static final int HOTBAR_FIRST_SLOT_INDEX = VANILLA_FIRST_SLOT_INDEX;
    private static final int PLAYER_INVENTORY_FIRST_SLOT_INDEX = HOTBAR_FIRST_SLOT_INDEX + HOTBAR_SLOT_COUNT;
	private static final int FIRST_FUEL_SLOT_INDEX = PLAYER_INVENTORY_FIRST_SLOT_INDEX + PLAYER_INVENTORY_SLOT_COUNT;
	private static final int FIRST_INPUT_SLOT_INDEX = FIRST_FUEL_SLOT_INDEX + FUEL_SLOTS_COUNT;
	private static final int FIRST_OUTPUT_SLOT_INDEX = FIRST_INPUT_SLOT_INDEX + INPUT_SLOTS_COUNT;

	// slot number is the slot number within each component;
  // i.e. invPlayer slots 0 - 35 (hotbar 0 - 8 then main inventory 9 to 35)
  // and furnace: inputZone slots 0 - 4, outputZone slots 0 - 4, fuelZone 0 - 3

	public PotContainer(int windowID, PlayerInventory invPlayer,
                        PotZoneContents inputZoneContents,
                        PotZoneContents outputZoneContents,
                        PotZoneContents fuelZoneContents,
                        PotStateData potStateData) {
    super(StartupCommon.POT_CONTAINER, windowID);
    if (StartupCommon.POT_CONTAINER == null)
      throw new IllegalStateException("Must initialise containerTypeContainerFurnace before constructing a PotContainer!");
    this.inputZoneContents = inputZoneContents;
    this.outputZoneContents = outputZoneContents;
    this.fuelZoneContents = fuelZoneContents;
    this.potStateData = potStateData;
    this.world = invPlayer.player.world;
    //test
    this.fluid =Registry.FLUID.getValue(new ResourceLocation(fluidName)).orElseThrow(() -> {
        return new JsonSyntaxException("Unknown item '" + fluidName + "'");
    });

    this.detectAndSendChanges();
    trackIntArray(potStateData);// tell vanilla to keep the potStateData synchronised between client and server Containers

		final int SLOT_X_SPACING = 18;
		final int SLOT_Y_SPACING = 18;
		final int HOTBAR_XPOS = 8;
		final int HOTBAR_YPOS = 142;
		// Add the players hotbar to the gui - the [xpos, ypos] location of each item
		for (int x = 0; x < HOTBAR_SLOT_COUNT; x++) {
			int slotNumber = x;
			addSlot(new Slot(invPlayer, slotNumber, HOTBAR_XPOS + SLOT_X_SPACING * x, HOTBAR_YPOS));
		}

		final int PLAYER_INVENTORY_XPOS = 8;
		final int PLAYER_INVENTORY_YPOS = 84;
		// Add the rest of the players inventory to the gui
		for (int y = 0; y < PLAYER_INVENTORY_ROW_COUNT; y++) {
			for (int x = 0; x < PLAYER_INVENTORY_COLUMN_COUNT; x++) {
				int slotNumber = HOTBAR_SLOT_COUNT + y * PLAYER_INVENTORY_COLUMN_COUNT + x;
				int xpos = PLAYER_INVENTORY_XPOS + x * SLOT_X_SPACING;
				int ypos = PLAYER_INVENTORY_YPOS + y * SLOT_Y_SPACING;
				addSlot(new Slot(invPlayer, slotNumber,  xpos, ypos));
			}
		}

		final int FUEL_SLOTS_XPOS = 8;
		final int FUEL_SLOTS_YPOS = 53;
		// Add the tile fuel slots
		for (int x = 0; x < FUEL_SLOTS_COUNT; x++) {
			int slotNumber = x;
			addSlot(new SlotFuel(fuelZoneContents, slotNumber, FUEL_SLOTS_XPOS, FUEL_SLOTS_YPOS));
		}

		final int INPUT_SLOTS_XPOS = 44;
		final int INPUT_SLOTS_YPOS = 17;
		// Add the tile input slots
		for (int y = 0; y < INPUT_SLOTS_COUNT/3; y++) {
		    for(int x =0; x< INPUT_SLOTS_COUNT/3; x++){
                int slotNumber = (y*3)+x;
                addSlot(new SlotSmeltableInput(inputZoneContents, slotNumber, INPUT_SLOTS_XPOS+(SLOT_X_SPACING * x), INPUT_SLOTS_YPOS+ (SLOT_Y_SPACING * y)));
            }
		}

		final int OUTPUT_SLOTS_XPOS = 138;
		final int OUTPUT_SLOTS_YPOS = 35;
		// Add the tile output slots
		for (int y = 0; y < OUTPUT_SLOTS_COUNT; y++) {
			int slotNumber = y;
			addSlot(new SlotOutput(outputZoneContents, slotNumber, OUTPUT_SLOTS_XPOS, OUTPUT_SLOTS_YPOS + SLOT_Y_SPACING * y));
		}
	}

    //New stuff to make tracking code for fluid

    //

	// Checks each tick to make sure the player is still able to access the inventory and if not closes the gui
	@Override
	public boolean canInteractWith(PlayerEntity player)
	{
		return fuelZoneContents.isUsableByPlayer(player) && inputZoneContents.isUsableByPlayer(player)
            && outputZoneContents.isUsableByPlayer(player);
	}

	// This is where you specify what happens when a player shift clicks a slot in the gui
	//  (when you shift click a slot in the TileEntity Inventory, it moves it to the first available position in the hotbar and/or
	//    player inventory.  When you you shift-click a hotbar or player inventory item, it moves it to the first available
	//    position in the TileEntity inventory - either input or fuel as appropriate for the item you clicked)
	// At the very least you must override this and return ItemStack.EMPTY or the game will crash when the player shift clicks a slot.
	// returns ItemStack.EMPTY if the source slot is empty, or if none of the source slot item could be moved.
	//   otherwise, returns a copy of the source stack
  //  Code copied & refactored from vanilla furnace AbstractFurnaceContainer
	@Override
	public ItemStack transferStackInSlot(PlayerEntity player, int sourceSlotIndex)
	{
		Slot sourceSlot = inventorySlots.get(sourceSlotIndex);
		if (sourceSlot == null || !sourceSlot.getHasStack()) return ItemStack.EMPTY;
    ItemStack sourceItemStack = sourceSlot.getStack();
    ItemStack sourceStackBeforeMerge = sourceItemStack.copy();
    boolean successfulTransfer = false;

    SlotZone sourceZone = SlotZone.getZoneFromIndex(sourceSlotIndex);

    switch (sourceZone) {
      case OUTPUT_ZONE: // taking out of the output zone - try the hotbar first, then main inventory.  fill from the end.
        successfulTransfer = mergeInto(SlotZone.PLAYER_HOTBAR, sourceItemStack, true);
        if (!successfulTransfer) {
          successfulTransfer = mergeInto(SlotZone.PLAYER_MAIN_INVENTORY, sourceItemStack, true);
        }
        if (successfulTransfer) {  // removing from output means we have just crafted an item -> need to inform
          sourceSlot.onSlotChange(sourceItemStack, sourceStackBeforeMerge);
        }
        break;

      case INPUT_ZONE:
      case FUEL_ZONE: // taking out of input zone or fuel zone - try player main inv first, then hotbar.  fill from the start
        successfulTransfer = mergeInto(SlotZone.PLAYER_MAIN_INVENTORY, sourceItemStack, false);
        if (!successfulTransfer) {
          successfulTransfer = mergeInto(SlotZone.PLAYER_HOTBAR, sourceItemStack, false);
        }
        break;

      case PLAYER_HOTBAR:
      case PLAYER_MAIN_INVENTORY: // taking out of inventory - find the appropriate furnace zone
        if (!PotTileEntity.getSmeltingResultForItem(world, this.inputZoneContents).isEmpty()) { // smeltable -> add to input
          successfulTransfer = mergeInto(SlotZone.INPUT_ZONE, sourceItemStack, false);
        }
        if (!successfulTransfer && PotTileEntity.getItemBurnTime(world, inputZoneContents) > 0) { //burnable -> add to fuel from the bottom slot first
          successfulTransfer = mergeInto(SlotZone.FUEL_ZONE, sourceItemStack, true);
        }
        if (!successfulTransfer) {  // didn't fit into furnace; try player main inventory or hotbar
          if (sourceZone == SlotZone.PLAYER_HOTBAR) { // main inventory
            successfulTransfer = mergeInto(SlotZone.PLAYER_MAIN_INVENTORY, sourceItemStack, false);
          } else {
            successfulTransfer = mergeInto(SlotZone.PLAYER_HOTBAR, sourceItemStack, false);
          }
        }
        break;

      default:
        throw new IllegalArgumentException("unexpected sourceZone:" + sourceZone);
    }
    if (!successfulTransfer) return ItemStack.EMPTY;

		// If source stack is empty (the entire stack was moved) set slot contents to empty
		if (sourceItemStack.isEmpty()) {
			sourceSlot.putStack(ItemStack.EMPTY);
		} else {
			sourceSlot.onSlotChanged();
		}

		// if source stack is still the same as before the merge, the transfer failed somehow?  not expected.
    if (sourceItemStack.getCount() == sourceStackBeforeMerge.getCount()) {
      return ItemStack.EMPTY;
    }
		sourceSlot.onTake(player, sourceItemStack);
    return sourceStackBeforeMerge;
	}

  /**
   * Try to merge from the given source ItemStack into the given SlotZone.
   * @param destinationZone the zone to merge into
   * @param sourceItemStack the itemstack to merge from
   * @param fillFromEnd if true: try to merge from the end of the zone instead of from the start
   * @return true if a successful transfer occurred
   */
	private boolean mergeInto(SlotZone destinationZone, ItemStack sourceItemStack, boolean fillFromEnd) {
	  return mergeItemStack(sourceItemStack, destinationZone.firstIndex, destinationZone.lastIndexPlus1, fillFromEnd);
  }

  // -------- methods used by the ContainerScreen to render parts of the display

  /**
   * Returns the amount of fuel remaining on the currently burning item in the given fuel slot.
   * @fuelSlot the number of the fuel slot (0..3)
   * @return fraction remaining, between 0.0 - 1.0
   */
  public double fractionOfFuelRemaining(int fuelSlot) {
    if (potStateData.burnTimeInitialValues <= 0 ) return 0;
    double fraction = potStateData.burnTimeRemainings / (double) potStateData.burnTimeInitialValues;
    return MathHelper.clamp(fraction, 0.0, 1.0);
  }

  /*test*/
    public Fluid getFluid(){

        fluid = Registry.FLUID.getValue(new ResourceLocation(fluidName)).orElseThrow(() -> {
            return new JsonSyntaxException("Unknown item '" +  fluidName + "'");
        });
        LOGGER.info("TEST1 " + potStateData.fluidRegistryName);
        LOGGER.info("TEST2 " + fluid.getRegistryName().toString());
        LOGGER.info("TEST3 " + fluidName);
        return fluid;
    }
    public ResourceLocation getFluidTexture(){
        fluid = Registry.FLUID.getValue(new ResourceLocation(fluidName)).orElseThrow(() -> {
            return new JsonSyntaxException("Unknown item '" +  fluidName + "'");
        });
        return fluid.getAttributes().getStillTexture();
    }

    //detect and send changes

//    @Nonnull
//    @Override
//    protected IntReferenceHolder trackInt(IntReferenceHolder intIn) {
//        this.trackedIntReferences.add(intIn);
//        return intIn;
//    }
//
//    @Override
//    protected void trackIntArray(IIntArray arrayIn) {
//        for(int i = 0; i < arrayIn.size(); ++i) {
//            this.trackInt(IntReferenceHolder.create(arrayIn, i));
//        }
//
//    }

    @Override
    public void detectAndSendChanges() {
        fluidName = potStateData.fluidRegistryName;
        super.detectAndSendChanges();
        LOGGER.info("PLS FROM CONTAINER:" + potStateData.fluidRegistryName);
    }

//    @Override
//    public void updateProgressBar(int id, int data) {
//        this.trackedIntReferences.get(id).set(data);
//    }


//    @Override
//    public void addListener(IContainerListener listener) {
//        if (!this.listeners.contains(listener)) {
//            this.listeners.add(listener);
//            listener.sendAllContents(this, this.getInventory());
//            this.detectAndSendChanges();
//        }
//    }
//
//    @OnlyIn(Dist.CLIENT)
//    public void removeListener(IContainerListener listener) {
//        this.listeners.remove(listener);
//    }

  /**
   * return the remaining burn time of the fuel in the given slot
   * @param fuelSlot the number of the fuel slot (0..3)
   * @return seconds remaining
   */
  public int secondsOfFuelRemaining(int fuelSlot)	{
    if (potStateData.burnTimeRemainings <= 0 ) return 0;
    return potStateData.burnTimeRemainings / 20; // 20 ticks per second
  }

  /**
   * Returns the amount of cook time completed on the currently cooking item.
   * @return fraction remaining, between 0 - 1
   */
  public double fractionOfCookTimeComplete() {
    if (potStateData.cookTimeForCompletion == 0) return 0;
    double fraction = potStateData.cookTimeElapsed / (double) potStateData.cookTimeForCompletion;
    return MathHelper.clamp(fraction, 0.0, 1.0);
  }

  // --------- Customise the different slots (in particular - what items they will accept)


	// SlotFuel is a slot for fuel items
	public class SlotFuel extends Slot {
		public SlotFuel(IInventory inventoryIn, int index, int xPosition, int yPosition) {
			super(inventoryIn, index, xPosition, yPosition);
		}

		// if this function returns false, the player won't be able to insert the given item into this slot
		@Override
		public boolean isItemValid(ItemStack stack) {
			return PotTileEntity.isItemValidForFuelSlot(stack);
		}
	}

	// SlotSmeltableInput is a slot for input item
	public class SlotSmeltableInput extends Slot {
		public SlotSmeltableInput(IInventory inventoryIn, int index, int xPosition, int yPosition) {
			super(inventoryIn, index, xPosition, yPosition);
		}

		// if this function returns false, the player won't be able to insert the given item into this slot
		@Override
		public boolean isItemValid(ItemStack stack) {
			return PotTileEntity.isItemValidForInputSlot(stack);
		}
	}

	// SlotOutput is a slot that will not accept any item
	public class SlotOutput extends Slot {
		public SlotOutput(IInventory inventoryIn, int index, int xPosition, int yPosition) {
			super(inventoryIn, index, xPosition, yPosition);
		}

		// if this function returns false, the player won't be able to insert the given item into this slot
		@Override
		public boolean isItemValid(ItemStack stack) {
			return PotTileEntity.isItemValidForOutputSlot(stack);
		}
	}

  private PotZoneContents inputZoneContents;
  private PotZoneContents outputZoneContents;
  private PotZoneContents fuelZoneContents;
  private PotStateData potStateData;
  private Fluid fluid = Registry.FLUID.getValue(new ResourceLocation("empty")).orElseThrow(() -> {
      return new JsonSyntaxException("Unknown item '" + "empty" + "'");
  });

  private World world; //needed for some helper methods
  private static final Logger LOGGER = LogManager.getLogger();

  /**
   * Helper enum to make the code more readable
   */
  private enum SlotZone {
    FUEL_ZONE(FIRST_FUEL_SLOT_INDEX, FUEL_SLOTS_COUNT),
    INPUT_ZONE(FIRST_INPUT_SLOT_INDEX, INPUT_SLOTS_COUNT),
    OUTPUT_ZONE(FIRST_OUTPUT_SLOT_INDEX, OUTPUT_SLOTS_COUNT),
    PLAYER_MAIN_INVENTORY(PLAYER_INVENTORY_FIRST_SLOT_INDEX, PLAYER_INVENTORY_SLOT_COUNT),
    PLAYER_HOTBAR(HOTBAR_FIRST_SLOT_INDEX, HOTBAR_SLOT_COUNT);

    SlotZone(int firstIndex, int numberOfSlots) {
      this.firstIndex = firstIndex;
      this.slotCount = numberOfSlots;
      this.lastIndexPlus1 = firstIndex + numberOfSlots;
    }

    public final int firstIndex;
    public final int slotCount;
    public final int lastIndexPlus1;

    public static SlotZone getZoneFromIndex(int slotIndex) {
      for (SlotZone slotZone : SlotZone.values()) {
        if (slotIndex >= slotZone.firstIndex && slotIndex < slotZone.lastIndexPlus1) return slotZone;
      }
      throw new IndexOutOfBoundsException("Unexpected slotIndex");
    }
  }
}
public class PotTileEntity extends TileEntity implements INamedContainerProvider, ITickableTileEntity {
	private static final Logger LOGGER = LogManager.getLogger();


	public static final int FUEL_SLOTS_COUNT = 1;
	public static final int INPUT_SLOTS_COUNT = 9;
	public static final int OUTPUT_SLOTS_COUNT = 1;
	public static final int TOTAL_SLOTS_COUNT = FUEL_SLOTS_COUNT + INPUT_SLOTS_COUNT + OUTPUT_SLOTS_COUNT;
	public  FluidStack fluid = FluidStack.EMPTY;

	private PotZoneContents fuelZoneContents;
  	private PotZoneContents inputZoneContents;
  	private PotZoneContents outputZoneContents;

	private final PotStateData potStateData = new PotStateData();

	public PotTileEntity(){
	  super(StartupCommon.POT_TILE_ENTITY);
	  fuelZoneContents = PotZoneContents.createForTileEntity(FUEL_SLOTS_COUNT,
            this::canPlayerAccessInventory, this::markDirty);
	  inputZoneContents = PotZoneContents.createForTileEntity(INPUT_SLOTS_COUNT,
            this::canPlayerAccessInventory, this::markDirty);
	  outputZoneContents = PotZoneContents.createForTileEntity(OUTPUT_SLOTS_COUNT,
            this::canPlayerAccessInventory, this::markDirty);
	}

  // Return true if the given player is able to use this block. In this case it checks that
  // 1) the world tileentity hasn't been replaced in the meantime, and
  // 2) the player isn't too far away from the centre of the block
  public boolean canPlayerAccessInventory(PlayerEntity player) {
    if (this.world.getTileEntity(this.pos) != this) return false;
    final double X_CENTRE_OFFSET = 0.5;
    final double Y_CENTRE_OFFSET = 0.5;
    final double Z_CENTRE_OFFSET = 0.5;
    final double MAXIMUM_DISTANCE_SQ = 8.0 * 8.0;
    return player.getDistanceSq(pos.getX() + X_CENTRE_OFFSET, pos.getY() + Y_CENTRE_OFFSET, pos.getZ() + Z_CENTRE_OFFSET) < MAXIMUM_DISTANCE_SQ;
  }

	/**
	 * Get the number of slots which have fuel burning in them.
	 * @return number of slots with burning fuel, 0 - FUEL_SLOTS_COUNT
	 */
	public int numberOfBurningFuelSlots()	{
		int burningCount = 0;
		int burnTime = potStateData.burnTimeRemainings;
			if (burnTime > 0) ++burningCount;

		return burningCount;
	}

	// This method is called every tick to update the tile entity, i.e.
	// - see if the fuel has run out, and if so turn the furnace "off" and slowly uncook the current item (if any)
	// - see if the current smelting input item has finished smelting; if so, convert it to output
  // - burn fuel slots
	// It runs both on the server and the client but we only need to do updates on the server side.
	@Override
	public void tick() {
	  if (world.isRemote) return; // do nothing on client.
    ItemStack currentlySmeltingItem =  getCurrentlySmeltingInputItem();

    // if user has changed the input slots, reset the smelting time
    if (!ItemStack.areItemsEqual(currentlySmeltingItem, currentlySmeltingItemLastTick)) {  // == and != don't work!
      potStateData.cookTimeElapsed = 0;
    }
    currentlySmeltingItemLastTick = currentlySmeltingItem.copy();

		if (!currentlySmeltingItem.isEmpty()) {
			int numberOfFuelBurning = burnFuel();

			// If fuel is available, keep cooking the item, otherwise start "uncooking" it at double speed
			if (numberOfFuelBurning > 0) {
        potStateData.cookTimeElapsed += numberOfFuelBurning;
			}	else {
        potStateData.cookTimeElapsed -= 2;
			}
			if (potStateData.cookTimeElapsed < 0) potStateData.cookTimeElapsed = 0;

			int cookTimeForCurrentItem = getCookTime(this.world, inputZoneContents);
			potStateData.cookTimeForCompletion = cookTimeForCurrentItem;
			// If cookTime has reached maxCookTime smelt the item and reset cookTime
			if (potStateData.cookTimeElapsed >= cookTimeForCurrentItem) {
				smeltFirstSuitableInputItem();
        potStateData.cookTimeElapsed = 0;
			}
		}	else {
      potStateData.cookTimeElapsed = 0;
		}

		// when the number of burning slots changes, we need to force the block to re-render, otherwise the change in
		//   state will not be visible.  Likewise, we need to force a lighting recalculation.
		// The block update (for renderer) is only required on client side, but the lighting is required on both, since
		//    the client needs it for rendering and the server needs it for crop growth etc
			int numberBurning = numberOfBurningFuelSlots();
			BlockState currentBlockState = world.getBlockState(this.pos);
			BlockState newBlockState = currentBlockState.with(PotInventoryBlock.BURNING_SIDES_COUNT, numberBurning);
			if (!newBlockState.equals(currentBlockState)) {
			final int FLAGS = SetBlockStateFlag.get(SetBlockStateFlag.BLOCK_UPDATE, SetBlockStateFlag.SEND_TO_CLIENTS);
      		world.setBlockState(this.pos, newBlockState, FLAGS);
      		markDirty();
		}
  }

	/**
	 * 	for each fuel slot: decreases the burn time, checks if burnTimeRemainings = 0 and tries to consume a new piece of fuel if one is available
	 * @return the number of fuel slots which are burning
	 */
	private int burnFuel() {
		int burningCount = 0;
		boolean inventoryChanged = false;

		for (int fuelIndex = 0; fuelIndex < FUEL_SLOTS_COUNT; fuelIndex++) {
			if (potStateData.burnTimeRemainings> 0) {
				--potStateData.burnTimeRemainings;
				++burningCount;
			}

			if (potStateData.burnTimeRemainings == 0) {
			  ItemStack fuelItemStack = fuelZoneContents.getStackInSlot(fuelIndex);
				Optional<PotRecipe> matchingRecipe = getMatchingRecipeForInput(world, inputZoneContents);
				//!!!Be careful used for the texture
				fluid = matchingRecipe.get().getFluidStack();
				if (!fuelItemStack.isEmpty() && getItemBurnTime(this.world, inputZoneContents) > 0 && fuelItemStack.isItemEqual(matchingRecipe.get().getFluidItem())) {
					// If the stack in this slot isn't empty and is fuel, set burnTimeRemainings & burnTimeInitialValues to the
					// item's burn time and decrease the stack size
          int burnTimeForItem = getItemBurnTime(this.world, inputZoneContents);
          potStateData.burnTimeRemainings = burnTimeForItem;
          potStateData.burnTimeInitialValues = burnTimeForItem;
          fuelZoneContents.decrStackSize(fuelIndex, 1);
					++burningCount;
					inventoryChanged = true;

				// If the stack size now equals 0 set the slot contents to the item container item. This is for fuel
				// item such as lava buckets so that the bucket is not consumed. If the item dose not have
				// a container item, getContainerItem returns ItemStack.EMPTY which sets the slot contents to empty
          if (fuelItemStack.isEmpty()) {
            ItemStack containerItem = fuelItemStack.getContainerItem();
            fuelZoneContents.setInventorySlotContents(fuelIndex, containerItem);
					}
				}
			}
		}
		if (inventoryChanged) markDirty();
		return burningCount;
	}

	/**
	 * Check if any of the input item are smeltable and there is sufficient space in the output slots
	 * @return the ItemStack of the first input item that can be smelted; ItemStack.EMPTY if none
	 */
	private ItemStack getCurrentlySmeltingInputItem() {return smeltFirstSuitableInputItem(false);}

	/**
	 * Smelt an input item into an output slot, if possible
	 */
	private void smeltFirstSuitableInputItem() {
    smeltFirstSuitableInputItem(true);
	}

	/**
	 * checks that there is an item to be smelted in one of the input slots and that there is room for the result in the output slots
	 * If desired, performs the smelt
	 * @param performSmelt if true, perform the smelt.  if false, check whether smelting is possible, but don't change the inventory
	 * @return a copy of the ItemStack of the input item smelted or to-be-smelted
	 */
	private ItemStack smeltFirstSuitableInputItem(boolean performSmelt)
	{
		Integer firstSuitableInputSlot = null;
		Integer firstSuitableOutputSlot = null;
		ItemStack result = ItemStack.EMPTY;

		// finds the first input slot which is smeltable and whose result fits into an output slot (stacking if possible)
		for (int inputIndex = 0; inputIndex < INPUT_SLOTS_COUNT; inputIndex++)	{
      ItemStack itemStackToSmelt = inputZoneContents.getStackInSlot(inputIndex);
      if (!itemStackToSmelt.isEmpty()) {
				result = getSmeltingResultForItem(this.world, inputZoneContents);
  			if (!result.isEmpty()) {
					// find the first suitable output slot- either empty, or with identical item that has enough space
					for (int outputIndex = 0; outputIndex < OUTPUT_SLOTS_COUNT; outputIndex++) {
						if (willItemStackFit(outputZoneContents, outputIndex, result)) {
							firstSuitableInputSlot = inputIndex;
							firstSuitableOutputSlot = outputIndex;
							break;
						}
					}
					if (firstSuitableInputSlot != null) break;
				}
			}
		}

		if (firstSuitableInputSlot == null) return ItemStack.EMPTY;

    ItemStack returnvalue = inputZoneContents.getStackInSlot(firstSuitableInputSlot).copy();
    if (!performSmelt) return returnvalue;

		// alter input and output
		for(int slotIndex =0;slotIndex<inputZoneContents.getSizeInventory();slotIndex++){
			if(!inputZoneContents.isStackEmpty(slotIndex)){
				inputZoneContents.decrStackSize(slotIndex, 1);
			}
		}
    	outputZoneContents.increaseStackSize(firstSuitableOutputSlot, result);

		markDirty();
		return returnvalue;
	}


  /**
   * Will the given ItemStack fully fit into the target slot?
   * @param potZoneContents
   * @param slotIndex
   * @param itemStackOrigin
   * @return true if the given ItemStack will fit completely; false otherwise
   */
	public boolean willItemStackFit(PotZoneContents potZoneContents, int slotIndex, ItemStack itemStackOrigin) {
    ItemStack itemStackDestination = potZoneContents.getStackInSlot(slotIndex);

    if (itemStackDestination.isEmpty() || itemStackOrigin.isEmpty()) {
      return true;
    }

    if (!itemStackOrigin.isItemEqual(itemStackDestination)) {
      return false;
    }

    int sizeAfterMerge = itemStackDestination.getCount() + itemStackOrigin.getCount();
    if (sizeAfterMerge <= potZoneContents.getInventoryStackLimit() && sizeAfterMerge <= itemStackDestination.getMaxStackSize()) {
      return true;
    }
    return false;
  }

	// returns the smelting result for the given stack. Returns ItemStack.EMPTY if the given stack can not be smelted
	public static ItemStack getSmeltingResultForItem(World world, PotZoneContents potZoneContents) {
	  Optional<PotRecipe> matchingRecipe = getMatchingRecipeForInput(world, potZoneContents);
	  if (!matchingRecipe.isPresent()) return ItemStack.EMPTY;
    	return matchingRecipe.get().getRecipeOutput().copy();  // beware! You must deep copy otherwise you will alter the recipe itself
	}

	// returns the number of ticks the given item will burn. Returns 0 if the given item is not a valid fuel
	public static int getItemBurnTime(World world,PotZoneContents potZoneContents)
	{
		Optional<PotRecipe> matchingRecipe = getMatchingRecipeForInput(world, potZoneContents);
		if (!matchingRecipe.isPresent()) return 0;
		return matchingRecipe.get().getFluidTime();  // beware! You must deep copy otherwise you will alter the recipe itself
	}

	// gets the recipe which matches the given input, or Missing if none.
  public static Optional<PotRecipe> getMatchingRecipeForInput(World world, PotZoneContents potZoneContents) {
    RecipeManager recipeManager = world.getRecipeManager();
    Optional<PotRecipe> matchingRecipe = recipeManager.getRecipe(StartupCommon.POT_RECIPE_TYPE, potZoneContents, world);
    return matchingRecipe;
  }

  /**
   * Gets the cooking time for this recipe input
   * @param world
   * @param potZoneContents the input itemS to be smelted
   * @return cooking time (ticks) or 0 if no matching recipe
   */
  public static int getCookTime(World world, PotZoneContents potZoneContents) {
	  Optional<PotRecipe> matchingRecipe = getMatchingRecipeForInput(world, potZoneContents);
	  if (!matchingRecipe.isPresent()) return 0;
    	return matchingRecipe.get().getCookTime();
  }

	// Return true if the given stack is allowed to be inserted in the given slot
	// Unlike the vanilla furnace, we allow anything to be placed in the fuel slots
	static public boolean isItemValidForFuelSlot(ItemStack itemStack)
	{
		return true;
	}

	// Return true if the given stack is allowed to be inserted in the given slot
	// Unlike the vanilla furnace, we allow anything to be placed in the input slots
	static public boolean isItemValidForInputSlot(ItemStack itemStack)
	{
		return true;
	}

	// Return true if the given stack is allowed to be inserted in the given slot
	static public boolean isItemValidForOutputSlot(ItemStack itemStack)
	{
		return false;
	}

	//------------------------------
  private final String FUEL_SLOTS_NBT = "fuelSlots";
  private final String INPUT_SLOTS_NBT = "inputSlots";
  private final String OUTPUT_SLOTS_NBT = "outputSlots";
  private final String FLUID_NAME_NBT = "fluidRegistryName";

  // This is where you save any data that you don't want to lose when the tile entity unloads
	// In this case, it saves the state of the furnace (burn time etc) and the itemstacks stored in the fuel, input, and output slots
	@Override
	public CompoundNBT write(CompoundNBT parentNBTTagCompound)
	{
		super.write(parentNBTTagCompound); // The super call is required to save and load the tile's location

		potStateData.putIntoNBT(parentNBTTagCompound);

		parentNBTTagCompound.put(FUEL_SLOTS_NBT, fuelZoneContents.serializeNBT());
    	parentNBTTagCompound.put(INPUT_SLOTS_NBT, inputZoneContents.serializeNBT());
    	parentNBTTagCompound.put(OUTPUT_SLOTS_NBT, outputZoneContents.serializeNBT());
    //test
		LOGGER.info(fluid.getFluid().getRegistryName().toString());
		potStateData.fluidRegistryName = fluid.getFluid().getRegistryName().toString();

		parentNBTTagCompound.putString(FLUID_NAME_NBT,fluid.getFluid().getRegistryName().toString());
    return parentNBTTagCompound;
	}

	// This is where you load the data that you saved in writeToNBT
	@Override
	public void read(CompoundNBT nbtTagCompound) {
		super.read(nbtTagCompound); // The super call is required to save and load the tile's location

    potStateData.readFromNBT(nbtTagCompound);

    CompoundNBT inventoryNBT = nbtTagCompound.getCompound(FUEL_SLOTS_NBT);
    fuelZoneContents.deserializeNBT(inventoryNBT);

    inventoryNBT = nbtTagCompound.getCompound(INPUT_SLOTS_NBT);
    inputZoneContents.deserializeNBT(inventoryNBT);

    inventoryNBT = nbtTagCompound.getCompound(OUTPUT_SLOTS_NBT);
    outputZoneContents.deserializeNBT(inventoryNBT);

    fluid = new FluidStack(Registry.FLUID.getValue(new ResourceLocation(nbtTagCompound.getString(FLUID_NAME_NBT))).orElseThrow(() -> {
			return new JsonSyntaxException("Unknown item '" +  nbtTagCompound.getString(FLUID_NAME_NBT) + "'");
    }),1000);

    potStateData.fluidRegistryName = nbtTagCompound.getString(FLUID_NAME_NBT);
    LOGGER.info("TileEntitydoi:-"+potStateData.fluidRegistryName);


    if (fuelZoneContents.getSizeInventory() != FUEL_SLOTS_COUNT
        || inputZoneContents.getSizeInventory() != INPUT_SLOTS_COUNT
        || outputZoneContents.getSizeInventory() != OUTPUT_SLOTS_COUNT
        )
      throw new IllegalArgumentException("Corrupted NBT: Number of inventory slots did not match expected.");
	}

//	// When the world loads from disk, the server needs to send the TileEntity information to the client
//	//  it uses getUpdatePacket(), getUpdateTag(), onDataPacket(), and handleUpdateTag() to do this
  @Override
  @Nullable
  public SUpdateTileEntityPacket getUpdatePacket()
  {
    CompoundNBT updateTagDescribingTileEntityState = getUpdateTag();
    final int METADATA = 42; // arbitrary.
    return new SUpdateTileEntityPacket(this.pos, METADATA, updateTagDescribingTileEntityState);
  }

  @Override
  public void onDataPacket(NetworkManager net, SUpdateTileEntityPacket pkt) {
    CompoundNBT updateTagDescribingTileEntityState = pkt.getNbtCompound();
    handleUpdateTag(updateTagDescribingTileEntityState);
  }

  /* Creates a tag containing the TileEntity information, used by vanilla to transmit from server to client
     Warning - although our getUpdatePacket() uses this method, vanilla also calls it directly, so don't remove it.
   */
  @Override
  public CompoundNBT getUpdateTag()
  {
		CompoundNBT nbtTagCompound = new CompoundNBT();
		write(nbtTagCompound);
    return nbtTagCompound;
  }

  /* Populates this TileEntity with information from the tag, used by vanilla to transmit from server to client
   *  The vanilla default is suitable for this example but I've included an explicit definition anyway.
   */
  @Override
  public void handleUpdateTag(CompoundNBT tag) { read(tag); }

  /**
   * When this tile entity is destroyed, drop all of its contents into the world
   * @param world
   * @param blockPos
   */
  public void dropAllContents(World world, BlockPos blockPos) {
    InventoryHelper.dropInventoryItems(world, blockPos, fuelZoneContents);
    InventoryHelper.dropInventoryItems(world, blockPos, inputZoneContents);
    InventoryHelper.dropInventoryItems(world, blockPos, outputZoneContents);
  }

  // -------------  The following two methods are used to make the TileEntity perform as a NamedContainerProvider, i.e.
  //  1) Provide a name used when displaying the container, and
  //  2) Creating an instance of container on the server, and linking it to the inventory items stored within the TileEntity

  /**
   *  standard code to look up what the human-readable name is.
   *  Can be useful when the tileentity has a customised name (eg "David's footlocker")
   */
  @Override
  public ITextComponent getDisplayName() {
    return new TranslationTextComponent("container.foodworld.pot");
  }

  /**
   * The name is misleading; createMenu has nothing to do with creating a Screen, it is used to create the Container on the server only
   * @param windowID
   * @param playerInventory
   * @param playerEntity
   * @return
   */
  @Nullable
  @Override
  public Container createMenu(int windowID, PlayerInventory playerInventory, PlayerEntity playerEntity) {
    return PotContainer.createContainerServerSide(windowID, playerInventory,
                                  inputZoneContents, outputZoneContents, fuelZoneContents, potStateData);
  }

  private ItemStack currentlySmeltingItemLastTick = ItemStack.EMPTY;


}
public class PotStateData implements IIntArray {

  private static final Logger LOGGER = LogManager.getLogger();

  public static final int FUEL_SLOTS_COUNT = PotTileEntity.FUEL_SLOTS_COUNT;

  /**The number of ticks that the current item has been cooking*/
  public int cookTimeElapsed;
  // The number of ticks required to cook the current item (i.e complete when cookTimeElapsed == cookTimeForCompletion
  public int cookTimeForCompletion;

  /** The initial fuel value of the currently burning fuel in each slot (in ticks of burn duration) */
  public int burnTimeInitialValues;
  /** The number of burn ticks remaining on the current piece of fuel in each slot */
  public int burnTimeRemainings;

  public String fluidRegistryName = "empty";

  // --------- read/write to NBT for permanent storage (on disk, or packet transmission) - used by the TileEntity only

  public void putIntoNBT(CompoundNBT nbtTagCompound) {
    nbtTagCompound.putInt("CookTimeElapsed", cookTimeElapsed);
    nbtTagCompound.putInt("CookTimeForCompletion", cookTimeElapsed);
    nbtTagCompound.putInt("burnTimeRemainings", burnTimeRemainings);
    nbtTagCompound.putInt("burnTimeInitial", burnTimeInitialValues);
    nbtTagCompound.putString("fluidRegistryName", fluidRegistryName);

  }

  public void readFromNBT(CompoundNBT nbtTagCompound) {
      // Trim the arrays (or pad with 0) to make sure they have the correct number of elements
    cookTimeElapsed = nbtTagCompound.getInt("CookTimeElapsed");
    cookTimeForCompletion = nbtTagCompound.getInt("CookTimeForCompletion");
    burnTimeRemainings = nbtTagCompound.getInt("burnTimeRemainings");
    burnTimeInitialValues = nbtTagCompound.getInt("burnTimeInitialValues");
    fluidRegistryName = nbtTagCompound.getString("fluidRegistryName");
//    LOGGER.info("PotState:-"+nbtTagCompound.getString("fluidRegistryName"));

  }

  // -------- used by vanilla, not intended for mod code
//  * The ints are mapped (internally) as:
//  * 0 = cookTimeElapsed
//  * 1 = cookTimeForCompletion
//  * 2 .. FUEL_SLOTS_COUNT+1 = burnTimeInitialValues[]
//  * FUEL_SLOTS_COUNT + 2 .. 2*FUEL_SLOTS_COUNT +1 = burnTimeRemainings[]
//  *

  private final int COOKTIME_INDEX = 0;
  private final int COOKTIME_FOR_COMPLETION_INDEX = 1;
  private final int BURNTIME_INITIAL_VALUE_INDEX = 2;
  private final int BURNTIME_REMAINING_INDEX = BURNTIME_INITIAL_VALUE_INDEX + FUEL_SLOTS_COUNT;
  private final int FLUID_NAME_INDEX = BURNTIME_REMAINING_INDEX + 1 ;
  private final int END_OF_DATA_INDEX_PLUS_ONE = BURNTIME_REMAINING_INDEX + FUEL_SLOTS_COUNT;

  @Override
  public int get(int index) {
    validateIndex(index);
    LOGGER.info(fluidRegistryName);

    if (index == COOKTIME_INDEX) {
      return cookTimeElapsed;
    } else if (index == COOKTIME_FOR_COMPLETION_INDEX) {
      return cookTimeForCompletion;
    } else if (index >= BURNTIME_INITIAL_VALUE_INDEX && index < BURNTIME_REMAINING_INDEX) {
      return burnTimeInitialValues;
    } else {
      return burnTimeRemainings;
    }
//    else{
//      return int(fluidRegistryName);
//    }
  }

  @Override
  public void set(int index, int value) {
    validateIndex(index);
    if (index == COOKTIME_INDEX) {
      cookTimeElapsed = value;
    } else if (index == COOKTIME_FOR_COMPLETION_INDEX) {
      cookTimeForCompletion = value;
    } else if (index >= BURNTIME_INITIAL_VALUE_INDEX && index < BURNTIME_REMAINING_INDEX) {
      burnTimeInitialValues = value;
    } else if (index >= BURNTIME_REMAINING_INDEX && index<FLUID_NAME_INDEX){
      burnTimeRemainings = value;
    }
    else{
      fluidRegistryName = String.valueOf(value);
    }
  }

  @Override
  public int size() {
    return END_OF_DATA_INDEX_PLUS_ONE;
  }

  private void validateIndex(int index) throws IndexOutOfBoundsException {
    if (index < 0 || index >= size()) {
      throw new IndexOutOfBoundsException("Index out of bounds:"+index);
    }
  }
}
public class PotZoneContents implements IInventory {

  /**
   * Use this constructor to create a PotZoneContents which is linked to its parent TileEntity.
   * On the server, this link will be used by the Container to request information and provide notifications to the parent
   * On the client, the link will be unused.
   * There are additional notificationLambdas available; these two are explicitly specified because your TileEntity will
   *   nearly always need to implement at least these two
   * @param size  the max number of ItemStacks in the inventory
   * @param canPlayerAccessInventoryLambda the function that the container should call in order to decide if the given player
   *                                       can access the container's contents not.  Usually, this is a check to see
   *                                       if the player is closer than 8 blocks away.
   * @param markDirtyNotificationLambda  the function that the container should call in order to tell the parent TileEntity
   *                                     that the contents of its inventory have been changed and need to be saved.  Usually,
   *                                     this is TileEntity::markDirty
   * @return the new ChestContents.
   */
  public static PotZoneContents createForTileEntity(int size,
                                                    Predicate<PlayerEntity> canPlayerAccessInventoryLambda,
                                                    Notify markDirtyNotificationLambda) {
     return new PotZoneContents(size,canPlayerAccessInventoryLambda, markDirtyNotificationLambda);
  }

  /**
   * Use this constructor to create a PotZoneContents which is not linked to any parent TileEntity; i.e.
   *   is used by the client side container:
   * * does not permanently store items
   * * cannot ask questions/provide notifications to a parent TileEntity
   * @param size  the max number of ItemStacks in the inventory
   * @return the new ChestContents
   */
  public static PotZoneContents createForClientSideContainer(int size) {
    return new PotZoneContents(size);
  }

  // ----Methods used to load / save the contents to NBT

  /**
   * Writes the chest contents to a CompoundNBT tag (used to save the contents to disk)
   * @return the tag containing the contents
   */
  public CompoundNBT serializeNBT()  {
    return potComponentContents.serializeNBT();
  }

  /**
   * Fills the chest contents from the nbt; resizes automatically to fit.  (used to load the contents from disk)
   * @param nbt
   */
  public void deserializeNBT(CompoundNBT nbt)   {
    potComponentContents.deserializeNBT(nbt);
  }

  //  ------------- linking methods  -------------
  //  The following group of methods are used to establish a link between the parent TileEntity and the chest contents,
  //    so that the container can communicate with the parent TileEntity without having to talk to it directly.
  //  This is important because the link to the TileEntity only exists on the server side.  On the client side, the
  //    container gets a dummy link instead- there is no link to the client TileEntity.  Linking to the client TileEntity
  //    is prohibited because of synchronisation clashes, i.e. vanilla would attempt to synchronise the TileEntity in two
  //    different ways at the same time: via the tileEntity server->client packets and via the container directly poking
  //    around in the inventory contents.
  //  I've used lambdas to make the decoupling more explicit.  You could instead
  //  * provide an Optional TileEntity to the ChestContents constructor (and ignore the markDirty() etc calls), or
  //  * implement IInventory directly in your TileEntity, and construct your client-side container using an Inventory
  //    instead of passing it a TileEntity.  (This is how vanilla does it)
  //

  /**
   * sets the function that the container should call in order to decide if the given player can access the container's
   *   contents not.  The lambda function is only used on the server side
   */
  public void setCanPlayerAccessInventoryLambda(Predicate<PlayerEntity> canPlayerAccessInventoryLambda) {
    this.canPlayerAccessInventoryLambda = canPlayerAccessInventoryLambda;
  }

  // the function that the container should call in order to tell the parent TileEntity that the
  // contents of its inventory have been changed.
  // default is "do nothing"
  public void setMarkDirtyNotificationLambda(Notify markDirtyNotificationLambda) {
    this.markDirtyNotificationLambda = markDirtyNotificationLambda;
  }

  // the function that the container should call in order to tell the parent TileEntity that the
  // container has been opened by a player (eg so that the chest can animate its lid being opened)
  // default is "do nothing"
  public void setOpenInventoryNotificationLambda(Notify openInventoryNotificationLambda) {
    this.openInventoryNotificationLambda = openInventoryNotificationLambda;
  }

  // the function that the container should call in order to tell the parent TileEntity that the
  // container has been closed by a player
  // default is "do nothing"
  public void setCloseInventoryNotificationLambda(Notify closeInventoryNotificationLambda) {
    this.closeInventoryNotificationLambda = closeInventoryNotificationLambda;
  }

  // ---------- These methods are used by the container to ask whether certain actions are permitted
  //  If you need special behaviour (eg a chest can only be used by a particular player) then either modify this method
  //    or ask the parent TileEntity.

  @Override
  public boolean isUsableByPlayer(PlayerEntity player) {
    return canPlayerAccessInventoryLambda.test(player);  // on the client, this does nothing. on the server, ask our parent TileEntity.
  }

  @Override
  public boolean isItemValidForSlot(int index, ItemStack stack) {
    return potComponentContents.isItemValid(index, stack);
  }

  // ----- Methods used to inform the parent tile entity that something has happened to the contents
  //  you can make direct calls to the parent if you like, I've used lambdas because I think it shows the separation
  //   of responsibilities more clearly.

  @FunctionalInterface
  public interface Notify {   // Some folks use Runnable, but I prefer not to use it for non-thread-related tasks
    void invoke();
  }

  @Override
  public void markDirty() {
    markDirtyNotificationLambda.invoke();
  }

  @Override
  public void openInventory(PlayerEntity player) {
    openInventoryNotificationLambda.invoke();
  }

  @Override
  public void closeInventory(PlayerEntity player) {
    closeInventoryNotificationLambda.invoke();
  }

  //---------These following methods are called by Vanilla container methods to manipulate the inventory contents ---

  @Override
  public int getSizeInventory() {
    return potComponentContents.getSlots();
  }

  @Override
  public boolean isEmpty() {
    for (int i = 0; i < potComponentContents.getSlots(); ++i) {
      if (!potComponentContents.getStackInSlot(i).isEmpty()) return false;
    }
    return true;
  }

  @Override
  public ItemStack getStackInSlot(int index) {
    return potComponentContents.getStackInSlot(index);
  }

  @Override
  public ItemStack decrStackSize(int index, int count) {
    if (count < 0) throw new IllegalArgumentException("count should be >= 0:" + count);
    return potComponentContents.extractItem(index, count, false);
  }

  public boolean isStackEmpty(int slotIndex){
    return potComponentContents.getStackInSlot(slotIndex).isEmpty();
  }


  @Override
  public ItemStack removeStackFromSlot(int index) {
    int maxPossibleItemStackSize = potComponentContents.getSlotLimit(index);
    return potComponentContents.extractItem(index, maxPossibleItemStackSize, false);
  }

  @Override
  public void setInventorySlotContents(int index, ItemStack stack) {
    potComponentContents.setStackInSlot(index, stack);
  }

  @Override
  public void clear() {
    for (int i = 0; i < potComponentContents.getSlots(); ++i) {
      potComponentContents.setStackInSlot(i, ItemStack.EMPTY);
    }
  }

  //--------- useful functions that aren't in IInventory but are useful anyway

  /**
   *  Tries to insert the given ItemStack into the given slot.
   * @param index the slot to insert into
   * @param itemStackToInsert the itemStack to insert.  Is not mutated by the function.
   * @return if successful insertion: ItemStack.EMPTY.  Otherwise, the leftover itemstack
   *         (eg if ItemStack has a size of 23, and only 12 will fit, then ItemStack with a size of 11 is returned
   */
  public ItemStack increaseStackSize(int index, ItemStack itemStackToInsert) {
    ItemStack leftoverItemStack = potComponentContents.insertItem(index, itemStackToInsert, false);
    return leftoverItemStack;
  }

  /**
   *  Checks if the given slot will accept all of the given itemStack
   * @param index the slot to insert into
   * @param itemStackToInsert the itemStack to insert
   * @return if successful insertion: ItemStack.EMPTY.  Otherwise, the leftover itemstack
   *         (eg if ItemStack has a size of 23, and only 12 will fit, then ItemStack with a size of 11 is returned
   */
  public boolean doesItemStackFit(int index, ItemStack itemStackToInsert) {
    ItemStack leftoverItemStack = potComponentContents.insertItem(index, itemStackToInsert, true);
    return leftoverItemStack.isEmpty();
  }

  // ---------

  private PotZoneContents(int size) {
    this.potComponentContents = new ItemStackHandler(size);
  }

  private PotZoneContents(int size, Predicate<PlayerEntity> canPlayerAccessInventoryLambda, Notify markDirtyNotificationLambda) {
    this.potComponentContents = new ItemStackHandler(size);
    this.canPlayerAccessInventoryLambda = canPlayerAccessInventoryLambda;
    this.markDirtyNotificationLambda = markDirtyNotificationLambda;
  }

  // the function that the container should call in order to decide if the
  // given player can access the container's Inventory or not.  Only valid server side
  //  default is "true".
  private Predicate<PlayerEntity> canPlayerAccessInventoryLambda = x-> true;

  // the function that the container should call in order to tell the parent TileEntity that the
  // contents of its inventory have been changed.
  // default is "do nothing"
  private Notify markDirtyNotificationLambda = ()->{};

  // the function that the container should call in order to tell the parent TileEntity that the
  // container has been opened by a player (eg so that the chest can animate its lid being opened)
  // default is "do nothing"
  private Notify openInventoryNotificationLambda = ()->{};

  // the function that the container should call in order to tell the parent TileEntity that the
  // container has been closed by a player
  // default is "do nothing"
  private Notify closeInventoryNotificationLambda = ()->{};

  private final ItemStackHandler potComponentContents;

  public int getHeight(){
    return 3;
  }

  public int getWidth(){
    return 3;
  }

}
public class PotContainerScreen extends ContainerScreen<PotContainer> {

	private PotContainer potContainer;
	public PotContainerScreen(PotContainer potContainer, PlayerInventory playerInventory, ITextComponent title) {
		super(potContainer, playerInventory, title);
    this.potContainer = potContainer;

		// Set the width and height of the gui.  Should match the size of the texture!
		xSize = 176;
		ySize = 207;
	}

	// some [x,y] coordinates of graphical elements
	final int COOK_BAR_XPOS = 103;
	final int COOK_BAR_YPOS = 35;
	final int COOK_BAR_ICON_U = 176;   // texture position of white arrow icon [u,v]
	final int COOK_BAR_ICON_V = 0;
	final int COOK_BAR_WIDTH = 24;
	final int COOK_BAR_HEIGHT = 17;

	final int FLAME_XPOS = 7;
	final int FLAME_YPOS = 15;
	final int FLAME_ICON_U = 176;   // texture position of flame icon [u,v]
	final int FLAME_ICON_V = 17;
	final int FLAME_WIDTH = 18;
	final int FLAME_HEIGHT = 37;
	final int FLAME_X_SPACING = 18;

  public void render(int mouseX, int mouseY, float partialTicks) {
    this.renderBackground();
    super.render(mouseX, mouseY, partialTicks);
    this.renderHoveredToolTip(mouseX, mouseY);
  }

  // Draw the Tool tip text if hovering over something of interest on the screen
  protected void renderHoveredToolTip(int mouseX, int mouseY) {
    if (!this.minecraft.player.inventory.getItemStack().isEmpty()) return;  // no tooltip if the player is dragging something

    List<String> hoveringText = new ArrayList<String>();

    // If the mouse is over the progress bar add the progress bar hovering text
    if (isInRect(guiLeft + COOK_BAR_XPOS, guiTop + COOK_BAR_YPOS, COOK_BAR_WIDTH, COOK_BAR_HEIGHT, mouseX, mouseY)){
      hoveringText.add("Progress:");
      int cookPercentage =(int)(potContainer.fractionOfCookTimeComplete() * 100);
      hoveringText.add(cookPercentage + "%");
    }

    // If the mouse is over one of the burn time indicators, add the burn time indicator hovering text
    for (int i = 0; i < PotContainer.FUEL_SLOTS_COUNT; ++i) {
      if (isInRect(guiLeft + FLAME_XPOS + FLAME_X_SPACING * i, guiTop + FLAME_YPOS, FLAME_WIDTH, FLAME_HEIGHT, mouseX, mouseY)) {
        hoveringText.add("Fluid: "+potContainer.getFluid().getRegistryName().toString());
        hoveringText.add("Time: " +potContainer.secondsOfFuelRemaining(i) + "s");
      }
    }

    // If hoveringText is not empty draw the hovering text.  Otherwise, use vanilla to render tooltip for the slots
    if (!hoveringText.isEmpty()){
      renderTooltip(hoveringText, mouseX, mouseY);
    } else {
      super.renderHoveredToolTip(mouseX, mouseY);
    }
  }


  @Override
	protected void drawGuiContainerBackgroundLayer(float partialTicks, int x, int y) {
    RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F);
    this.minecraft.getTextureManager().bindTexture(TEXTURE);

    // width and height are the size provided to the window when initialised after creation.
    // xSize, ySize are the expected size of the texture-? usually seems to be left as a default.
    // The code below is typical for vanilla containers, so I've just copied that- it appears to centre the texture within
    //  the available window
    int edgeSpacingX = (this.width - this.xSize) / 2;
    int edgeSpacingY = (this.height - this.ySize) / 2;
    this.blit(edgeSpacingX, edgeSpacingY, 0, 0, this.xSize, this.ySize);

    	// draw the cook progress bar
		double cookProgress = potContainer.fractionOfCookTimeComplete();
		blit(guiLeft + COOK_BAR_XPOS, guiTop + COOK_BAR_YPOS, COOK_BAR_ICON_U, COOK_BAR_ICON_V,
         (int)(cookProgress * COOK_BAR_WIDTH), COOK_BAR_HEIGHT);

		// draw the fuel remaining bar for each fuel slot flame
		for (int i = 0; i < PotContainer.FUEL_SLOTS_COUNT; ++i) {
//			if(PotTileEntity.getFluidTexture()!=null) this.minecraft.getTextureManager().bindTexture(PotTileEntity.getFluidTexture());
//			Minecraft.getInstance().getTextureManager().bindTexture(Fluids.WATER.getAttributes().getStillTexture())

			ResourceLocation stillLocation = potContainer.getFluidTexture();
			int color = potContainer.getFluid().getAttributes().getColor();
			float r = ((color >> 16) & 0xFF) / 255f; // red
			float g = ((color >> 8) & 0xFF) / 255f; // green
			float b = ((color >> 0) & 0xFF) / 255f; // blue
			float a = ((color >> 24) & 0xFF) / 255f; // alpha
			GlStateManager.color4f(r,g,b,a);
			TextureAtlasSprite sprite = Minecraft.getInstance().getAtlasSpriteGetter(PlayerContainer.LOCATION_BLOCKS_TEXTURE).apply(stillLocation);
			ResourceLocation spriteLocation = sprite.getName();
			ResourceLocation texture = new ResourceLocation(spriteLocation.getNamespace(), "textures/" + spriteLocation.getPath() + ".png");
			minecraft.getTextureManager().bindTexture(texture);
			double burnRemaining = potContainer.fractionOfFuelRemaining(i);
			int yOffset = (int)((1.0 - burnRemaining) * FLAME_HEIGHT);
			blit(guiLeft + FLAME_XPOS + FLAME_X_SPACING * i, guiTop + FLAME_YPOS + yOffset,
					10,0 + yOffset, FLAME_WIDTH, FLAME_HEIGHT - yOffset);
//			blit(100,100,100,100,100,sprite);
		}
	}

	@Override
	protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY) {
		super.drawGuiContainerForegroundLayer(mouseX, mouseY);
		this.font.drawString(this.title.getFormattedText(),8.0f,6.0f,Color.darkGray.getRGB());
		this.font.drawString(this.playerInventory.getDisplayName().getFormattedText(),8.0f,73.0f,Color.darkGray.getRGB());
	}

	// Returns true if the given x,y coordinates are within the given rectangle
	public static boolean isInRect(int x, int y, int xSize, int ySize, int mouseX, int mouseY){
		return ((mouseX >= x && mouseX <= x+xSize) && (mouseY >= y && mouseY <= y+ySize));
	}

  // This is the resource location for the background image
  private static final ResourceLocation TEXTURE = new ResourceLocation("foodworld", "textures/gui/pot.png");
}

 

Posted
5 hours ago, Electrosugar said:

my screen cannot obtain the fluid from my container and i have a hard time remodeling the problem.

So imagine it like this. Technically, with a packet to synchronize it to the client, the client doesn't know anything about a slot either. What it does is send the container, slot id, and item stack. The container holds the window id (which should be the same on both the client and server version). The slot id holds the current slot it's in (once again synchronized by the client and server each creating their own version). Finally all that's left is the item stack sent. Once it puts all three of these together, it compares the open container window id with the packet version. If equal, it gets the client slot and pushes the stack to it.

 

Your implementation of this would be similar. Any time you detect a change in the slot, you will send a packet to the client with the container window id and the current fluid stack. If you have more than one fluid, you can handle it similarly to a slot by creating a list and grabbing it from that. If you only have one, you can create a public getter and push the value to yours.

 

Once you get this working, I will review the other problems you have. It's best to solve one problem at a time.

  • Like 1
Posted
On 9/26/2020 at 4:12 AM, ChampionAsh5357 said:

you will send a packet to the client with the container window id and the current fluid stack.

I am sorry for responding so late but i tried again and again but i have no idea how to change the fluid in the container correctly. Every time i correctly access int values  that are tracked by trackIntArray(PotState (which just extends IIntArray)) but if i use the detectAndSendChanges() (where i think i have to detect the slot change?) it is changed in that function only. Any getter for the fluidName String is useless. If you know about an example of a packet sending or anything that is similar to sending any kind of non-int data from the container to the gui, it would be extremely helpful.

Posted
1 minute ago, Electrosugar said:

If you know about an example of a packet sending or anything that is similar to sending any kind of non-int data from the container to the gui, it would be extremely helpful.

I would definitely recommend reading over the forge docs on this then. This is basically what you need to do for the fluid stack to send it across the network and then update the value in the container itself. The detect and send method just sends the information to the client. The track int arrays are a result of those values being sent using that method. You are basically hooking into detect and send, getting if the fluid stack has changed, and if so sending a packet to the container. I have already outlined above what packets you should need. If you need an example, ServerPlayerEntity should have the defined versions of the IContainerListener methods. You can see how the packet is structured and model yours similarly.

  • Like 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Me and my friends are using a modpack on a server, but when we try to create items, the crafts don't work, only in singleplayer mode, the only crafts that work are the default minecraft ones
    • Betafort Recovery  is a Cyber skilled hacker with special abilities and skills that enact penetration to help victims of Crypto Fraudulent activities who are faced with cyber challenges get back their lost funds.
    • Here is the crash report https://github.com/KingDeathClaw/Minecraft-Crash-Logs/blob/main/Crash log 4-21-2025 Honestly im not sure what happened or what else to say but please help
    • My modpack has been crashing and I am not sure why. I tried fixing the config files issues but I am not sure why it isn't working. ---- Minecraft Crash Report ---- // Hi. I'm Connector, and I'm a crashaholic ========================= SINYTRA CONNECTOR IS PRESENT! Please verify issues are not caused by Connector before reporting them to mod authors. If you're unsure, file a report on Connector's issue tracker found at https://github.com/Sinytra/Connector/issues. ========================= // Hi. I'm Minecraft, and I'm a crashaholic. Time: 2025-04-21 10:49:12 Description: Exception in server tick loop net.minecraftforge.fml.config.ConfigFileTypeHandler$ConfigLoadingException: Failed loading config file jei-server.toml of type SERVER for modid jei     at net.minecraftforge.fml.config.ConfigFileTypeHandler.lambda$reader$1(ConfigFileTypeHandler.java:47) ~[fmlcore-1.20.1-47.4.0.jar%231097!/:?] {}     at net.minecraftforge.fml.config.ConfigTracker.openConfig(ConfigTracker.java:60) ~[fmlcore-1.20.1-47.4.0.jar%231097!/:?] {}     at net.minecraftforge.fml.config.ConfigTracker.lambda$loadConfigs$1(ConfigTracker.java:50) ~[fmlcore-1.20.1-47.4.0.jar%231097!/:?] {}     at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?] {re:mixin}     at java.util.Collections$SynchronizedCollection.forEach(Collections.java:2131) ~[?:?] {}     at net.minecraftforge.fml.config.ConfigTracker.loadConfigs(ConfigTracker.java:50) ~[fmlcore-1.20.1-47.4.0.jar%231097!/:?] {}     at net.minecraftforge.server.ServerLifecycleHooks.handleServerAboutToStart(ServerLifecycleHooks.java:96) ~[forge-1.20.1-47.4.0-universal.jar%231101!/:?] {re:mixin,re:classloading,pl:mixin:A}     at net.minecraft.client.server.IntegratedServer.m_7038_(IntegratedServer.java:62) ~[client-1.20.1-20230612.114412-srg.jar%231096!/:?] {re:mixin,pl:connector_pre_launch:A,pl:runtimedistcleaner:A,re:computing_frames,pl:connector_pre_launch:A,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:modernfix-common.mixins.json:perf.thread_priorities.IntegratedServerMixin from mod modernfix,pl:mixin:APP:lithostitched.mixins.json:client.IntegratedServerMixin from mod lithostitched,pl:mixin:APP:blueprint.mixins.json:client.IntegratedServerMixin from mod blueprint,pl:mixin:A,pl:connector_pre_launch:A,pl:runtimedistcleaner:A}     at net.minecraft.server.MinecraftServer.m_130011_(MinecraftServer.java:634) ~[client-1.20.1-20230612.114412-srg.jar%231096!/:?] {re:mixin,pl:accesstransformer:B,pl:connector_pre_launch:A,re:computing_frames,pl:accesstransformer:B,pl:connector_pre_launch:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:modernfix-common.mixins.json:core.MinecraftServerMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.MinecraftServerMixin from mod modernfix,pl:mixin:APP:chunkpregen.mixins.json:common.server.MinecraftServerMixin from mod chunkpregen,pl:mixin:APP:chunkpregen.mixins.json:common.server.ServerSeedMixin from mod chunkpregen,pl:mixin:APP:crafttweaker.mixins.json:common.access.server.AccessMinecraftServer from mod crafttweaker,pl:mixin:APP:fabric-message-api-v1.mixins.json:MinecraftServerMixin from mod fabric_message_api_v1,pl:mixin:APP:structureessentials.mixins.json:LevelCreatedCallback from mod structureessentials,pl:mixin:APP:fabric-resource-loader-v0.mixins.json:MinecraftServerMixin from mod fabric_resource_loader_v0,pl:mixin:APP:ichunutil.mixins.json:MinecraftServerAccessorMixin from mod ichunutil,pl:mixin:APP:balm.mixins.json:MinecraftServerMixin from mod balm,pl:mixin:APP:eldritch_end.mixins.json:server.BiomeMixin from mod eldritch_end,pl:mixin:APP:majruszlibrary-common.mixins.json:MixinMinecraftServer from mod majruszlibrary,pl:mixin:APP:fastload.mixins.json:server.MinecraftServerMixin from mod fastload,pl:mixin:APP:citadel.mixins.json:MinecraftServerMixin from mod citadel,pl:mixin:APP:fabric-lifecycle-events-v1.mixins.json:MinecraftServerMixin from mod fabric_lifecycle_events_v1,pl:mixin:APP:blueprint.mixins.json:MinecraftServerMixin from mod blueprint,pl:mixin:APP:fabrication.mixins.json:_general.config.MixinMinecraftServer from mod fabrication,pl:mixin:A,pl:connector_pre_launch:A}     at net.minecraft.server.MinecraftServer.m_206580_(MinecraftServer.java:251) ~[client-1.20.1-20230612.114412-srg.jar%231096!/:?] {re:mixin,pl:accesstransformer:B,pl:connector_pre_launch:A,re:computing_frames,pl:accesstransformer:B,pl:connector_pre_launch:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:modernfix-common.mixins.json:core.MinecraftServerMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.MinecraftServerMixin from mod modernfix,pl:mixin:APP:chunkpregen.mixins.json:common.server.MinecraftServerMixin from mod chunkpregen,pl:mixin:APP:chunkpregen.mixins.json:common.server.ServerSeedMixin from mod chunkpregen,pl:mixin:APP:crafttweaker.mixins.json:common.access.server.AccessMinecraftServer from mod crafttweaker,pl:mixin:APP:fabric-message-api-v1.mixins.json:MinecraftServerMixin from mod fabric_message_api_v1,pl:mixin:APP:structureessentials.mixins.json:LevelCreatedCallback from mod structureessentials,pl:mixin:APP:fabric-resource-loader-v0.mixins.json:MinecraftServerMixin from mod fabric_resource_loader_v0,pl:mixin:APP:ichunutil.mixins.json:MinecraftServerAccessorMixin from mod ichunutil,pl:mixin:APP:balm.mixins.json:MinecraftServerMixin from mod balm,pl:mixin:APP:eldritch_end.mixins.json:server.BiomeMixin from mod eldritch_end,pl:mixin:APP:majruszlibrary-common.mixins.json:MixinMinecraftServer from mod majruszlibrary,pl:mixin:APP:fastload.mixins.json:server.MinecraftServerMixin from mod fastload,pl:mixin:APP:citadel.mixins.json:MinecraftServerMixin from mod citadel,pl:mixin:APP:fabric-lifecycle-events-v1.mixins.json:MinecraftServerMixin from mod fabric_lifecycle_events_v1,pl:mixin:APP:blueprint.mixins.json:MinecraftServerMixin from mod blueprint,pl:mixin:APP:fabrication.mixins.json:_general.config.MixinMinecraftServer from mod fabrication,pl:mixin:A,pl:connector_pre_launch:A}     at java.lang.Thread.run(Thread.java:833) ~[?:?] {re:mixin} Caused by: com.electronwill.nightconfig.core.io.ParsingException: Not enough data available     at com.electronwill.nightconfig.core.io.ParsingException.notEnoughData(ParsingException.java:22) ~[core-3.6.4.jar%2393!/:?] {}     at com.electronwill.nightconfig.core.io.ReaderInput.directReadChar(ReaderInput.java:36) ~[core-3.6.4.jar%2393!/:?] {}     at com.electronwill.nightconfig.core.io.AbstractInput.readChar(AbstractInput.java:49) ~[core-3.6.4.jar%2393!/:?] {}     at com.electronwill.nightconfig.core.io.AbstractInput.readCharsUntil(AbstractInput.java:123) ~[core-3.6.4.jar%2393!/:?] {}     at com.electronwill.nightconfig.toml.TableParser.parseKey(TableParser.java:166) ~[toml-3.6.4.jar%2394!/:?] {}     at com.electronwill.nightconfig.toml.TableParser.parseDottedKey(TableParser.java:145) ~[toml-3.6.4.jar%2394!/:?] {}     at com.electronwill.nightconfig.toml.TableParser.parseNormal(TableParser.java:55) ~[toml-3.6.4.jar%2394!/:?] {}     at com.electronwill.nightconfig.toml.TomlParser.parse(TomlParser.java:44) ~[toml-3.6.4.jar%2394!/:?] {}     at com.electronwill.nightconfig.toml.TomlParser.parse(TomlParser.java:37) ~[toml-3.6.4.jar%2394!/:?] {}     at com.electronwill.nightconfig.core.io.ConfigParser.parse(ConfigParser.java:113) ~[core-3.6.4.jar%2393!/:?] {}     at com.electronwill.nightconfig.core.io.ConfigParser.parse(ConfigParser.java:219) ~[core-3.6.4.jar%2393!/:?] {}     at com.electronwill.nightconfig.core.io.ConfigParser.parse(ConfigParser.java:202) ~[core-3.6.4.jar%2393!/:?] {}     at com.electronwill.nightconfig.core.file.WriteSyncFileConfig.load(WriteSyncFileConfig.java:73) ~[core-3.6.4.jar%2393!/:?] {}     at com.electronwill.nightconfig.core.file.AutosaveCommentedFileConfig.load(AutosaveCommentedFileConfig.java:85) ~[core-3.6.4.jar%2393!/:?] {}     at net.minecraftforge.fml.config.ConfigFileTypeHandler.lambda$reader$1(ConfigFileTypeHandler.java:43) ~[fmlcore-1.20.1-47.4.0.jar%231097!/:?] {}     ... 10 more A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- System Details -- Details:     Minecraft Version: 1.20.1     Minecraft Version ID: 1.20.1     Operating System: Windows 11 (amd64) version 10.0     Java Version: 17.0.8, Microsoft     Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Microsoft     Memory: 1154705536 bytes (1101 MiB) / 8388608000 bytes (8000 MiB) up to 8917090304 bytes (8504 MiB)     CPUs: 12     Processor Vendor: AuthenticAMD     Processor Name: AMD Ryzen 5 5600G with Radeon Graphics              Identifier: AuthenticAMD Family 25 Model 80 Stepping 0     Microarchitecture: Zen 3     Frequency (GHz): 3.89     Number of physical packages: 1     Number of physical CPUs: 6     Number of logical CPUs: 12     Graphics card #0 name: NVIDIA GeForce RTX 3060     Graphics card #0 vendor: NVIDIA (0x10de)     Graphics card #0 VRAM (MB): 4095.00     Graphics card #0 deviceId: 0x2504     Graphics card #0 versionInfo: DriverVersion=32.0.15.7602     Graphics card #1 name: AMD Radeon(TM) Graphics     Graphics card #1 vendor: Advanced Micro Devices, Inc. (0x1002)     Graphics card #1 VRAM (MB): 512.00     Graphics card #1 deviceId: 0x1638     Graphics card #1 versionInfo: DriverVersion=31.0.21910.11004     Memory slot #0 capacity (MB): 16384.00     Memory slot #0 clockSpeed (GHz): 3.20     Memory slot #0 type: DDR4     Virtual memory max (MB): 30559.30     Virtual memory used (MB): 27002.46     Swap memory total (MB): 14848.00     Swap memory used (MB): 1990.68     JVM Flags: 4 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx8500m -Xms256m     Server Running: true     Player Count: 0 / 8; []     Data Packs: vanilla, mod:areas, mod:connectorextras_kubejs_bridge, mod:nethers_exoticism, mod:dynamiccrosshair, mod:fabric_rendering_fluids_v1, mod:fabric_models_v0, mod:critter_lib, mod:forgeendertech, mod:modernfix (incompatible), mod:fabric_command_api_v1, mod:netherite_horse_armor (incompatible), mod:fabric_block_view_api_v2, mod:fabric_command_api_v2, mod:yungsapi, mod:mcwstairs, mod:connectorextras_rei_bridge, mod:shrink (incompatible), mod:darkutils (incompatible), mod:apotheosis (incompatible), mod:snowrealmagic (incompatible), mod:paraglider (incompatible), mod:cloth_config (incompatible), mod:sawmill (incompatible), mod:embeddium, mod:structure_gel, mod:corpse, mod:handcrafted (incompatible), mod:repurposed_structures, mod:morevillagers (incompatible), mod:gml, mod:structurecompass, mod:peacefulmoon, mod:blockrunner, mod:highlighter (incompatible), mod:curiouslanterns, mod:commongroovylibrary (incompatible), mod:advancednetherite, mod:mr_dungeons_andtaverns (incompatible), mod:attributeslib (incompatible), mod:villagersellanimals, mod:mushroomquest, mod:bettervillage, mod:chunkpregen (incompatible), mod:accessories, mod:cumulus_menus, mod:mcwroofs, mod:netherchested, mod:chimes, mod:woodenbucket, mod:itemphysic, mod:flib, mod:dynamic_fps, mod:fabric_rendering_data_attachment_v1, mod:nitrogen_internals, mod:the_bumblezone, mod:potionblender (incompatible), mod:arsdelight (incompatible), mod:krypton (incompatible), mod:l2library (incompatible), mod:nebs (incompatible), mod:mcwlights, mod:fabric_client_tags_api_v1, mod:radium, mod:kiwi (incompatible), mod:puffish_skills, mod:humancompanions (incompatible), mod:serene_shrubbery, mod:visualworkbench, mod:fabric_screen_handler_api_v1, mod:libraryferret, mod:goblintraders (incompatible), mod:realmrpg_creep, mod:alexscavesdelight, mod:kobolds, mod:immersive_weathering (incompatible), mod:libbamboo, mod:mcwholidays, mod:ags_hud_texts, mod:untamedwilds, mod:aaa_particles, mod:snowundertrees, mod:midnightlib (incompatible), mod:guideapi_vp (incompatible), mod:beefix, mod:additional_lights, mod:jeitweaker (incompatible), mod:corpsecurioscompat, mod:crafttweaker (incompatible), mod:fabric_particles_v1, mod:luminousworld, mod:ironchest, mod:dungeons_arise, mod:logprot (incompatible), mod:terrablender, mod:biomesoplenty (incompatible), mod:guardribbits (incompatible), mod:lootintegration_wda (incompatible), mod:necronomicon, mod:justenoughbreeding, mod:cleanswing (incompatible), mod:fabric_block_api_v1, mod:fabric_resource_conditions_api_v1, mod:forgeconfigapiport, mod:astikorcarts (incompatible), mod:brewinandchewin, mod:notenoughanimations, mod:farmersrespite, mod:shadowizardlib (incompatible), mod:justenoughprofessions, mod:wits (incompatible), mod:fabric_registry_sync_v0, mod:fastfurnace (incompatible), mod:tlc (incompatible), mod:moremobvariants, mod:fabric_object_builder_api_v1, mod:treasure2_undergarden_lp, mod:deep_dark_regrowth, mod:fabric_message_api_v1, mod:cosmeticarmorreworked, mod:phantasm (incompatible), mod:euphoria_patcher, mod:fruitsdelight (incompatible), mod:grapplemod (incompatible), mod:aether_enhanced_extinguishing (incompatible), mod:skyvillages (incompatible), mod:unusualfishmod (incompatible), mod:kuma_api, mod:fabric_renderer_api_v1, mod:animation_overhaul (incompatible), mod:fabric_item_api_v1, mod:illagerinvasion, mod:fireproofboats, mod:firstperson, mod:additionalbanners (incompatible), mod:sophisticatedcore (incompatible), mod:gpumemleakfix (incompatible), mod:structureessentials (incompatible), mod:villagernames, mod:elytra_physics (incompatible), mod:placebo (incompatible), mod:jumpoverfences, mod:lootintegrations (incompatible), mod:finsandtails (incompatible), mod:cobweb (incompatible), mod:bookshelf, mod:fabrication (incompatible), mod:sophisticatedbackpacks (incompatible), mod:mcwdoors, mod:medieval_buildings (incompatible), mod:bygonenether (incompatible), mod:carryon (incompatible), mod:macawsroofsbop, mod:fzzy_config (incompatible), mod:fabric_api, mod:connectorextras_modmenu_bridge, mod:konkrete (incompatible), mod:diagonalwalls, mod:diagonalblocks, mod:mcwbridges, mod:jearchaeology, mod:fabric_api_lookup_api_v1, mod:projectvibrantjourneys, mod:dogslie, mod:nocubesbettergrindstone, mod:eeeabsmobs, mod:dynamiccrosshairapi (incompatible), mod:lionfishapi (incompatible), mod:fishontheline, mod:connectorextras_architectury_bridge, mod:memorysettings (incompatible), mod:seadwellers, mod:villagertools (incompatible), mod:spartanfire, mod:connectormod, mod:spartanskies, mod:runelic, mod:starterkit, mod:bridgingmod, mod:twilightdelight (incompatible), mod:immersivelanterns, mod:aiimprovements, mod:cupboard (incompatible), mod:undergarden, mod:monolib (incompatible), mod:framework, mod:puffish_attributes, mod:whatthebucket (incompatible), mod:quarkdelight, mod:celesteconfig (incompatible), mod:dreadsteel (incompatible), mod:fabric_key_binding_api_v1, mod:fabric_transfer_api_v1, mod:bedbenefits (incompatible), mod:shrines (incompatible), mod:nourished_nether, mod:particlerain (incompatible), mod:commonnetworking (incompatible), mod:connectorextras_pehkui_bridge, mod:conjurer_illager (incompatible), mod:monster_hunter_villager, mod:fabric_resource_loader_v0, mod:obscure_api (incompatible), mod:enlightened_end, mod:illagerwarship, mod:mcwpaintings, mod:clumps (incompatible), mod:danger_close (incompatible), mod:tumbleweed (incompatible), mod:outer_end, mod:decorative_blocks, mod:aquamirae_mod_extra_music, mod:explorerscompass, mod:pineapple_delight (incompatible), mod:ichunutil, mod:txnilib, mod:azurelib, mod:connectorextras_energy_bridge, mod:usefulslime (incompatible), mod:skinlayers3d, mod:travelerstitles, mod:morezombievillagers, mod:raided, mod:friendsandfoes (incompatible), mod:nyfsspiders (incompatible), mod:tetrasdelight, mod:rubinated_nether, mod:extragore, mod:mysterious_mountain_lib (incompatible), mod:fabric_blockrenderlayer_v1, mod:amecsapi, mod:another_furniture (incompatible), mod:spidersproducewebs, mod:creativecore, mod:spartanshields, mod:bucketlib, mod:pigpen (incompatible), mod:fastbench (incompatible), mod:storagedrawers (incompatible), mod:diagonalfences, mod:miners_delight (incompatible), mod:mynethersdelight, mod:betterarcheology (incompatible), mod:fabric_biome_api_v1, mod:raised (incompatible), mod:ferritecore (incompatible), mod:enhancedcelestials, mod:corgilib, mod:dataanchor, mod:notrample, mod:justzoom (incompatible), mod:majruszsenchantments (incompatible), mod:realmrpg_quests, mod:secondchanceforge (incompatible), mod:mcwbyg, mod:addonslib, mod:supermartijn642configlib (incompatible), mod:playeranimator (incompatible), mod:combatroll (incompatible), mod:grassoverhaul (incompatible), mod:mcwwindows, mod:sound_physics_remastered (incompatible), mod:fabric_convention_tags_v1, mod:lootbeams (incompatible), mod:guardvillagers (incompatible), mod:medievalend (incompatible), mod:treasure2_twilight_forest_lp, mod:farmersdelightcompat, mod:fcbop, mod:balm, mod:fabric_screen_api_v1, mod:dynview (incompatible), mod:immersive_armors (incompatible), mod:jeresources, mod:ctov, mod:vminus, mod:athena, mod:connectorextras_terrablender_bridge, mod:vintagedelight, mod:fabric_game_rule_api_v1, mod:toolstats (incompatible), mod:w2pets (incompatible), mod:ironfurnaces, mod:unusualend, mod:supermartijn642corelib, mod:yungsbridges, mod:resourcefulconfig (incompatible), mod:enchantmenttransfer, mod:mr_tidal_towns, mod:mysticaloaktree (incompatible), mod:curios (incompatible), mod:desert_mining, mod:searchables (incompatible), mod:eldritch_end, mod:measurements, mod:fabric_entity_events_v1, mod:sapience (incompatible), mod:mcwfurnitures, mod:apothiccurios (incompatible), mod:mountedpearl (incompatible), mod:mace_backport, mod:hasteenchantment, mod:adchimneys, mod:jadeaddons (incompatible), mod:majruszlibrary (incompatible), mod:darkpaintings (incompatible), mod:mcwabnormals, mod:waterdripsound (incompatible), mod:fabric_dimensions_v1, mod:betteranimationscollection, mod:mowziesmobs, mod:fastload, mod:puzzlesapi, mod:formationsnether, mod:rpghud (incompatible), mod:fabric_model_loading_api_v1, mod:lithostitched, mod:stoneworks, mod:fabric_rendering_v1, mod:fabric_renderer_indigo, mod:fallingleaves, mod:apotheotic_additions, mod:naturescompass, mod:smarterfarmers (incompatible), mod:jumpboat, mod:catjammies, mod:glitchcore (incompatible), mod:sereneseasons, mod:connectorextras_geckolib_fabric_compat, mod:table_top_craft, mod:dismountentity, mod:speed_enchantment, mod:formations, mod:aetherdelight, mod:puzzlesaccessapi, mod:dungeons_arise_seven_seas, mod:more_wandering_trades, mod:chalk (incompatible), mod:zombiemoon, mod:mcwpaths, mod:wither_spawn_animation, mod:fabric_api_base, mod:mousetweaks, mod:easier_sleeping, mod:cubes_without_borders (incompatible), mod:ohthetreesyoullgrow, mod:spectrelib (incompatible), mod:connectorextras_jei_bridge, mod:kotlinforforge (incompatible), mod:ecologics, mod:fabric_item_group_api_v1, mod:imfast, mod:polymorph (incompatible), mod:entityculling, mod:oceansdelight (incompatible), mod:fabric_recipe_api_v1, mod:visuality (incompatible), mod:ubesdelight, mod:puzzleslib, mod:friendlyfire (incompatible), mod:fabric_sound_api_v1, mod:explosiveenhancement, mod:chunksending (incompatible), mod:aquamirae (incompatible), mod:xpbook, mod:cristellib (incompatible), mod:carbonconfig (incompatible), mod:tetra (incompatible), mod:undergardenpatch, mod:tetranomicon, mod:treechop (incompatible), mod:tropicraft, mod:blue_skies (incompatible), mod:dimasctetracompat (incompatible), mod:geckolib, mod:biomeswevegone, mod:creeperoverhaul, mod:ars_nouveau (incompatible), mod:crittersandcompanions (incompatible), mod:aether, mod:aetheric_tetranomicon, mod:lost_aether_content, mod:deep_aether, mod:aeroblender (incompatible), mod:ancient_aether, mod:naturalist (incompatible), mod:soulbound (incompatible), mod:dynamiclights (incompatible), mod:netheroverhaul, mod:horseexpert, mod:paperdoll, mod:golemsarefriends (incompatible), mod:controlling (incompatible), mod:citadel (incompatible), mod:rats, mod:alexsmobs (incompatible), mod:iceandfire, mod:forge, mod:auroras, mod:appleskin (incompatible), mod:akashictome (incompatible), mod:dragonseeker, mod:zeta (incompatible), mod:aquaculture, mod:fabric_data_attachment_api_v1, mod:mixinextras (incompatible), mod:aether_villages, mod:endercrop (incompatible), mod:storagedelight, mod:twigs (incompatible), mod:minersmoon, mod:waddles, mod:jeed (incompatible), mod:hauntedharvest (incompatible), mod:dummmmmmy (incompatible), mod:fabric_content_registries_v0, mod:twilightforest, mod:sodiumdynamiclights, mod:better_climbing (incompatible), mod:farmersdelight, mod:corn_delight (incompatible), mod:largemeals, mod:ends_delight, mod:chefsdelight (incompatible), mod:culturaldelights, mod:curious_armor_stands, mod:endersdelight, mod:treasure2, mod:gottschcore, mod:mcwfences, mod:spartanundergarden, mod:reach_entity_attributes, mod:medievalmusic (incompatible), mod:villagespawnpoint, mod:spartantoolkit, mod:patchouli (incompatible), mod:collective, mod:betterthirdperson, mod:resourcefullib (incompatible), mod:eatinganimation (incompatible), mod:spartanweaponry, mod:seasonhud (incompatible), mod:deeperdarker, mod:architectury (incompatible), mod:bambooeverything (incompatible), mod:doapi (incompatible), mod:jecalculation, mod:findme (incompatible), mod:brewery (incompatible), mod:meadow, mod:jei, mod:jamlib, mod:rightclickharvest, mod:fabric_loot_api_v2, mod:connectorextras, mod:umbral_skies (incompatible), mod:refurbished_furniture, mod:fabric_networking_api_v1, mod:fabric_lifecycle_events_v1, mod:tradingpost, mod:villagesandpillages (incompatible), mod:rhino (incompatible), mod:festive_delight, mod:jmi (incompatible), mod:amendments (incompatible), mod:blueflame (incompatible), mod:additionallanterns (incompatible), mod:rainbows, mod:waystones, mod:journeymap (incompatible), mod:comforts (incompatible), mod:fabric_mining_level_api_v1, mod:configured (incompatible), mod:default_skill_trees (incompatible), mod:betterdeserttemples, mod:mapperbase (incompatible), mod:netherdepthsupgrade (incompatible), mod:blueprint, mod:savage_and_ravage (incompatible), mod:clayworks, mod:personality, mod:autumnity (incompatible), mod:environmental (incompatible), mod:buzzier_bees (incompatible), mod:coffee_delight (incompatible), mod:moredelight (incompatible), mod:spartantwilight, mod:ramadandelight, mod:libertyvillagers (incompatible), mod:fasterladderclimbing (incompatible), mod:fabric_transitive_access_wideners_v1, mod:zillagersweararmor (incompatible), mod:dtkupd, mod:cofh_core, mod:endergetic (incompatible), mod:commonality, mod:farmers_structures, mod:ls_spooky_paintings, mod:dramaticdoors, mod:archers_paradox, mod:abnormals_delight, mod:aquaculturedelight, mod:upgrade_aquatic (incompatible), mod:aquamirae_delight, mod:undergardendelight, mod:ensorcellation, mod:alexscaves, mod:pumpeddesertremake, mod:enchdesc (incompatible), mod:radiantgear (incompatible), mod:moonlight (incompatible), mod:toolbelt (incompatible), mod:mr_farmers_cuttingohthebiomeswevegone, mod:mixinsquared (incompatible), mod:jade (incompatible), mod:snowyspirit (incompatible), mod:l2harvester (incompatible), mod:displaydelight, mod:nethersdelight, mod:lootintegrations_yungs (incompatible), mod:rocks, mod:barteringstation, mod:ribbits (incompatible), mod:iceberg (incompatible), mod:quark (incompatible), mod:supplementaries, mod:delightful, mod:suppsquared (incompatible), mod:woodworks (incompatible), mod:mutil, mod:brutalbosses (incompatible), mod:legendarycreatures, mod:inventoryhud (incompatible), mod:universalenchants, mod:bettertridents, mod:alexsdelight, mod:yet_another_config_lib_v3 (incompatible), mod:apexcore, mod:fantasyfurniture, mod:crabbersdelight, mod:connectorextras_emi_bridge, mod:healingcampfire, mod:fabric_data_generation_api_v1, mod:fabric_events_interaction_v0, mod:presencefootsteps (incompatible), Immersive Weathering Generated Pack, Sawmill Sawmill Recipes, Snowyspirit Generated Pack, Supplementaries Generated Pack, Suppsquared Generated Pack, builtin/aether_curios_override, builtin/aether_ruined_portal, builtin/aether_temporary_freezing, builtin/ancient_aether_worldgen_overrides, builtin/compat_recipes/aether_lost_content_compat, builtin/compat_recipes/ancient_aether_compat, builtin/compatibility/deep_aether, builtin/compatibility/lost_aether_content, builtin/extinguishing_recipe_override, fabric, lithostitched/breaks_seed_parity, rubinated_nether/better_netherite_template, mod:loot_journal (incompatible), mod:obscure_tooltips (incompatible)     Enabled Feature Flags: minecraft:vanilla     World Generation: Stable     Type: Integrated Server (map_client.txt)     Is Modded: Definitely; Client brand changed to 'forge'; Server brand changed to 'forge'     Launched Version: forge-47.4.0     Sinytra Connector: 1.0.0-beta.46+1.20.1         SINYTRA CONNECTOR IS PRESENT!         Please verify issues are not caused by Connector before reporting them to mod authors. If you're unsure, file a report on Connector's issue tracker.         Connector's issue tracker can be found at https://github.com/Sinytra/Connector/issues.         Installed Fabric mods:         | ================================================== | ============================== | ============================== | ==================== |         | Eldritch_End-FORGE-MC1.20.1-0.3.3$aaa-particles-1. | AAAParticles                   | aaa_particles                  | 1.20.1-1.4.5         |         | Eldritch_End-FORGE-MC1.20.1-0.3.3_mapped_srg_1.20. | Eldritch End                   | eldritch_end                   | 0.3.3                |     ModLauncher: 10.0.9+10.0.9+main.dcd20f30     ModLauncher launch target: forgeclient     ModLauncher naming: srg     ModLauncher services:          mixin-0.8.5.jar mixin PLUGINSERVICE          eventbus-6.0.5.jar eventbus PLUGINSERVICE          fmlloader-1.20.1-47.4.0.jar slf4jfixer PLUGINSERVICE          fmlloader-1.20.1-47.4.0.jar object_holder_definalize PLUGINSERVICE          fmlloader-1.20.1-47.4.0.jar runtime_enum_extender PLUGINSERVICE          fmlloader-1.20.1-47.4.0.jar capability_token_subclass PLUGINSERVICE          accesstransformers-8.0.4.jar accesstransformer PLUGINSERVICE          fmlloader-1.20.1-47.4.0.jar runtimedistcleaner PLUGINSERVICE          modlauncher-10.0.9.jar mixin TRANSFORMATIONSERVICE          modlauncher-10.0.9.jar fml TRANSFORMATIONSERVICE          modlauncher-10.0.9.jar mixin-transmogrifier TRANSFORMATIONSERVICE          modlauncher-10.0.9.jar connector_loader TRANSFORMATIONSERVICE      FML Language Providers:          javafml@null         lowcodefml@null         [email protected]         [email protected]         [email protected]     Mod List:          areas-1.20.1-6.1.jar                              |Areas                         |areas                         |6.1                 |DONE      |Manifest: NOSIGNATURE         kubejs-bridge-1.11.2+1.20.1.jar                   |Connector Extras KubeJS Bridge|connectorextras_kubejs_bridge |1.11.2+1.20.1       |DONE      |Manifest: NOSIGNATURE         nether-s-exoticism-1.20.1-1.2.9.jar               |Nether's Exoticism            |nethers_exoticism             |1.2.9               |DONE      |Manifest: NOSIGNATURE         dynamiccrosshair-9.3+1.20.1-forge.jar             |Dynamic Crosshair             |dynamiccrosshair              |9.3                 |DONE      |Manifest: NOSIGNATURE         fabric-rendering-fluids-v1-3.0.28+4ac5e37a77.jar  |Fabric Rendering Fluids (v1)  |fabric_rendering_fluids_v1    |3.0.28+4ac5e37a77   |DONE      |Manifest: NOSIGNATURE         fabric-models-v0-0.4.2+7c3892a477.jar             |Fabric Models (v0)            |fabric_models_v0              |0.4.2+7c3892a477    |DONE      |Manifest: NOSIGNATURE         critter-forge-0.1-beta.14.jar                     |Critter Library               |critter_lib                   |0.1-beta.14         |DONE      |Manifest: NOSIGNATURE         ForgeEndertech-1.20.1-11.1.6.0-build.0980.jar     |ForgeEndertech                |forgeendertech                |11.1.6.0            |DONE      |Manifest: NOSIGNATURE         modernfix-forge-5.21.0+mc1.20.1.jar               |ModernFix                     |modernfix                     |5.21.0+mc1.20.1     |DONE      |Manifest: NOSIGNATURE         fabric-command-api-v1-1.2.34+f71b366f77.jar       |Fabric Command API (v1)       |fabric_command_api_v1         |1.2.34+f71b366f77   |DONE      |Manifest: NOSIGNATURE         netherite_horse_armor-forge-1.20.1-1.0.4.jar      |Netherite Horse Armor         |netherite_horse_armor         |1.20.1-1.0.4        |DONE      |Manifest: NOSIGNATURE         fabric-block-view-api-v2-1.0.1+0767707077.jar     |Fabric BlockView API (v2)     |fabric_block_view_api_v2      |1.0.1+0767707077    |DONE      |Manifest: NOSIGNATURE         fabric-command-api-v2-2.2.13+561530ec77.jar       |Fabric Command API (v2)       |fabric_command_api_v2         |2.2.13+561530ec77   |DONE      |Manifest: NOSIGNATURE         YungsApi-1.20-Forge-4.0.6.jar                     |YUNG's API                    |yungsapi                      |1.20-Forge-4.0.6    |DONE      |Manifest: NOSIGNATURE         mcw-stairs-1.0.1-1.20.1forge.jar                  |Macaw's Stairs and Balconies  |mcwstairs                     |1.0.1               |DONE      |Manifest: NOSIGNATURE         rei-bridge-1.11.2+1.20.1.jar                      |Connector Extras REI Bridge   |connectorextras_rei_bridge    |1.11.2+1.20.1       |DONE      |Manifest: NOSIGNATURE         Shrink-1.20.1-1.4.5.jar                           |Shrink                        |shrink                        |1.4.5               |DONE      |Manifest: NOSIGNATURE         DarkUtilities-Forge-1.20.1-17.0.5.jar             |DarkUtilities                 |darkutils                     |17.0.5              |DONE      |Manifest: NOSIGNATURE         Apotheosis-1.20.1-7.4.7.jar                       |Apotheosis                    |apotheosis                    |7.4.7               |DONE      |Manifest: NOSIGNATURE         SnowRealMagic-1.20.1-Forge-10.5.2.jar             |Snow! Real Magic!             |snowrealmagic                 |10.5.2              |DONE      |Manifest: NOSIGNATURE         Paraglider-forge-20.1.3.jar                       |Paraglider                    |paraglider                    |20.1.3              |DONE      |Manifest: NOSIGNATURE         cloth-config-11.1.136-forge.jar                   |Cloth Config v10 API          |cloth_config                  |11.1.136            |DONE      |Manifest: NOSIGNATURE         sawmill-1.20-1.4.6.jar                            |Universal Sawmill             |sawmill                       |1.20-1.4.6          |DONE      |Manifest: NOSIGNATURE         embeddium-0.3.31+mc1.20.1.jar                     |Embeddium                     |embeddium                     |0.3.31+mc1.20.1     |DONE      |Manifest: NOSIGNATURE         structure_gel-1.20.1-2.16.2.jar                   |Structure Gel API             |structure_gel                 |2.16.2              |DONE      |Manifest: NOSIGNATURE         corpse-forge-1.20.1-1.0.20.jar                    |Corpse                        |corpse                        |1.20.1-1.0.20       |DONE      |Manifest: NOSIGNATURE         handcrafted-forge-1.20.1-3.0.6.jar                |Handcrafted                   |handcrafted                   |3.0.6               |DONE      |Manifest: NOSIGNATURE         repurposed_structures-7.1.15+1.20.1-forge.jar     |Repurposed Structures         |repurposed_structures         |7.1.15+1.20.1-forge |DONE      |Manifest: NOSIGNATURE         morevillagers-forge-1.20.1-5.0.0.jar              |More Villagers                |morevillagers                 |5.0.0               |DONE      |Manifest: NOSIGNATURE         mod-4.0.11.jar                                    |GroovyModLoader               |gml                           |4.0.11              |DONE      |Manifest: NOSIGNATURE         loot_journal-forge-1.20.1-4.0.2.jar               |Loot Journal                  |loot_journal                  |4.0.2               |DONE      |Manifest: NOSIGNATURE         StructureCompass-1.20.1-2.1.0.jar                 |Structure Compass Mod         |structurecompass              |2.1.0               |DONE      |Manifest: NOSIGNATURE         PeacefulMoon-1.20.jar                             |Peaceful Moon                 |peacefulmoon                  |1.20                |DONE      |Manifest: NOSIGNATURE         BlockRunner-v8.0.4-1.20.1-Forge.jar               |Block Runner                  |blockrunner                   |8.0.4               |DONE      |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a         Highlighter-1.20.1-forge-1.1.9.jar                |Highlighter                   |highlighter                   |1.1.9               |DONE      |Manifest: NOSIGNATURE         curiouslanterns-1.20.1-1.3.6.jar                  |Curious Lanterns              |curiouslanterns               |1.20.1-1.3.6        |DONE      |Manifest: NOSIGNATURE         cgl-1.20-forge-0.3.3.jar                          |CommonGroovyLibrary           |commongroovylibrary           |0.3.3               |DONE      |Manifest: NOSIGNATURE         advancednetherite-forge-2.1.3-1.20.1.jar          |Advanced Netherite            |advancednetherite             |2.1.3               |DONE      |Manifest: NOSIGNATURE         dungeons-and-taverns-3.0.3.f[Forge].jar           |Dungeons and Taverns          |mr_dungeons_andtaverns        |3.0.3.f             |DONE      |Manifest: NOSIGNATURE         ApothicAttributes-1.20.1-1.3.7.jar                |Apothic Attributes            |attributeslib                 |1.3.7               |DONE      |Manifest: NOSIGNATURE         nocube's_villagers_sell_animals_1.2.1_forge_1.20.1|Villagers Sell Animals (by NoC|villagersellanimals           |1.2.1               |DONE      |Manifest: NOSIGNATURE         MushroomQuest-1.20.1-v4.1.2.jar                   |Mushroom Quest                |mushroomquest                 |4.0.0               |DONE      |Manifest: NOSIGNATURE         bettervillage-forge-1.20.1-3.3.0-all.jar          |Better village                |bettervillage                 |3.3.0               |DONE      |Manifest: NOSIGNATURE         Chunk-Pregenerator-1.20-4.4.4.jar                 |Chunk Pregenerator            |chunkpregen                   |1.20-4.4.4          |DONE      |Manifest: NOSIGNATURE         accessories-neoforge-1.0.0-beta.46+1.20.1.jar     |Accessories                   |accessories                   |1.0.0-beta46+1.20.1 |DONE      |Manifest: NOSIGNATURE         cumulus_menus-1.20.1-1.0.1-neoforge.jar           |Cumulus                       |cumulus_menus                 |1.20.1-1.0.1-neoforg|DONE      |Manifest: NOSIGNATURE         mcw-roofs-2.3.1-mc1.20.1forge.jar                 |Macaw's Roofs                 |mcwroofs                      |2.3.1               |DONE      |Manifest: NOSIGNATURE         NetherChested-v8.0.4-1.20.1-Forge.jar             |Nether Chested                |netherchested                 |8.0.4               |DONE      |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a         Chimes-v2.0.1-1.20.1.jar                          |Chimes                        |chimes                        |2.0.1               |DONE      |Manifest: NOSIGNATURE         woodenbucket-1.20.1-2.1.0.0.jar                   |Wooden Bucket                 |woodenbucket                  |1.20.1-2.1.0.0      |DONE      |Manifest: NOSIGNATURE         ItemPhysic_FORGE_v1.8.6_mc1.20.1.jar              |ItemPhysic                    |itemphysic                    |1.8.6               |DONE      |Manifest: NOSIGNATURE         flib-1.20.1-0.0.15.jar                            |flib                          |flib                          |0.0.15              |DONE      |Manifest: 1f:47:ac:b1:61:82:96:b8:47:19:16:d2:61:81:11:60:3a:06:4b:61:31:56:7d:44:31:1e:0c:6f:22:5b:4c:ed         dynamic-fps-3.9.3+minecraft-1.20.0-forge.jar      |Dynamic FPS                   |dynamic_fps                   |3.9.3               |DONE      |Manifest: NOSIGNATURE         fabric-rendering-data-attachment-v1-0.3.37+a6081af|Fabric Rendering Data Attachme|fabric_rendering_data_attachme|0.3.37+a6081afc77   |DONE      |Manifest: NOSIGNATURE         nitrogen_internals-1.20.1-1.0.12-neoforge.jar     |Nitrogen                      |nitrogen_internals            |1.20.1-1.0.12-neofor|DONE      |Manifest: NOSIGNATURE         the_bumblezone-7.6.12+1.20.1-forge.jar            |The Bumblezone                |the_bumblezone                |7.6.12+1.20.1-forge |DONE      |Manifest: NOSIGNATURE         Potion-Blender-1.20.1-FORGE-3.1.2.jar             |Potion-Blender                |potionblender                 |3.1.2               |DONE      |Manifest: NOSIGNATURE         arsdelight-1.1.4.jar                              |Ars Nouveau's Flavors & Deligh|arsdelight                    |1.1.4               |DONE      |Manifest: NOSIGNATURE         KryptonReforged-0.2.3.jar                         |Krypton Reforged              |krypton                       |0.2.3               |DONE      |Manifest: NOSIGNATURE         l2library-2.5.1-slim.jar                          |L2 Library                    |l2library                     |2.5.1               |DONE      |Manifest: NOSIGNATURE         NekosEnchantedBooks-1.19.3-2.0.3.jar              |Neko's Enchanted Books        |nebs                          |2.0.3               |DONE      |Manifest: NOSIGNATURE         mcw-lights-1.1.0-mc1.20.1forge.jar                |Macaw's Lights and Lamps      |mcwlights                     |1.1.0               |DONE      |Manifest: NOSIGNATURE         fabric-client-tags-api-v1-1.1.2+5d6761b877.jar    |Fabric Client Tags            |fabric_client_tags_api_v1     |1.1.2+5d6761b877    |DONE      |Manifest: NOSIGNATURE         radium-mc1.20.1-0.12.4+git.26c9d8e.jar            |Radium                        |radium                        |0.12.4+git.26c9d8e  |DONE      |Manifest: NOSIGNATURE         Kiwi-1.20.1-Forge-11.8.29.jar                     |Kiwi Library                  |kiwi                          |11.8.29+forge       |DONE      |Manifest: NOSIGNATURE         puffish_skills-0.15.4-1.20-forge.jar              |Pufferfish's Skills           |puffish_skills                |0.15.4              |DONE      |Manifest: NOSIGNATURE         humancompanions-1.20.1-1.7.6.jar                  |Human Companions              |humancompanions               |1.20.1-1.7.6        |DONE      |Manifest: NOSIGNATURE         SereneShrubbery-1.20.1-v2.1.0.jar                 |Serene Shrubbery              |serene_shrubbery              |1.2.0               |DONE      |Manifest: NOSIGNATURE         VisualWorkbench-v8.0.0-1.20.1-Forge.jar           |Visual Workbench              |visualworkbench               |8.0.0               |DONE      |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a         fabric-screen-handler-api-v1-1.3.30+561530ec77.jar|Fabric Screen Handler API (v1)|fabric_screen_handler_api_v1  |1.3.30+561530ec77   |DONE      |Manifest: NOSIGNATURE         libraryferret-forge-1.20.1-4.0.0.jar              |Library ferret                |libraryferret                 |4.0.0               |DONE      |Manifest: NOSIGNATURE         goblintraders-forge-1.20.1-1.9.3.jar              |Goblin Traders                |goblintraders                 |1.9.3               |DONE      |Manifest: 0d:78:5f:44:c0:47:0c:8c:e2:63:a3:04:43:d4:12:7d:b0:7c:35:37:dc:40:b1:c1:98:ec:51:eb:3b:3c:45:99         realmrpg_creep_and_crop_1.0.2_forge_1.20.1.jar    |Realm RPG: Creep & Crop       |realmrpg_creep                |1.0.2               |DONE      |Manifest: NOSIGNATURE         alexscavesdelight-1.0.26-1.20.1.jar               |Alex's Caves Delight          |alexscavesdelight             |1.0.26-1.20.1       |DONE      |Manifest: NOSIGNATURE         Kobolds-2.12.0.jar                                |Kobolds                       |kobolds                       |2.12.0              |DONE      |Manifest: NOSIGNATURE         immersive_weathering-1.20.1-2.0.5-forge.jar       |Immersive Weathering          |immersive_weathering          |1.20.1-2.0.5        |DONE      |Manifest: NOSIGNATURE         libbamboo-2.2+1.20.1-forge.jar                    |LibBamboo                     |libbamboo                     |2.2                 |DONE      |Manifest: NOSIGNATURE         mcw-holidays-1.1.0-mc1.20.1forge.jar              |Macaw's Holidays              |mcwholidays                   |1.1.0               |DONE      |Manifest: NOSIGNATURE         hud_texts_v3.2_1.20.1_[FORGE].jar                 |Hud Texts                     |ags_hud_texts                 |3.2                 |DONE      |Manifest: NOSIGNATURE         untamedwilds-1.20.1-4.0.4.jar                     |Untamed Wilds                 |untamedwilds                  |4.0.4               |DONE      |Manifest: NOSIGNATURE         Eldritch_End-FORGE-MC1.20.1-0.3.3$aaa-particles-1.|AAAParticles                  |aaa_particles                 |1.20.1-1.4.5        |DONE      |Manifest: NOSIGNATURE         snowundertrees-1.20.1-1.4.10.jar                  |Snow Under Trees              |snowundertrees                |1.4.10              |DONE      |Manifest: NOSIGNATURE         midnightlib-1.4.2-forge.jar                       |MidnightLib                   |midnightlib                   |1.4.2               |DONE      |Manifest: NOSIGNATURE         Guide-API-VP-1.20.1-2.2.6.jar                     |Guide-API VP                  |guideapi_vp                   |2.2.6               |DONE      |Manifest: NOSIGNATURE         BeeFix-1.20-1.0.7.jar                             |Bee Fix                       |beefix                        |1.0.7               |DONE      |Manifest: NOSIGNATURE         additional_lights-1.20.1-2.1.7.jar                |Additional Lights             |additional_lights             |2.1.7               |DONE      |Manifest: NOSIGNATURE         JeiTweaker-forge-1.20.1-8.0.6.jar                 |JeiTweaker                    |jeitweaker                    |8.0.6               |DONE      |Manifest: NOSIGNATURE         corpsecurioscompat-1.18.x-1.20.x-Forge-2.2.2.jar  |corpsecurioscompat            |corpsecurioscompat            |2.2.2               |DONE      |Manifest: NOSIGNATURE         CraftTweaker-forge-1.20.1-14.0.57.jar             |CraftTweaker                  |crafttweaker                  |14.0.57             |DONE      |Manifest: NOSIGNATURE         fabric-particles-v1-1.1.2+78e1ecb877.jar          |Fabric Particles (v1)         |fabric_particles_v1           |1.1.2+78e1ecb877    |DONE      |Manifest: NOSIGNATURE         Luminous V1.4.9 - Forge 1.20.1.jar                |Luminous                      |luminousworld                 |1.4.9               |DONE      |Manifest: NOSIGNATURE         ironchest-1.20.1-14.4.4.jar                       |Iron Chests                   |ironchest                     |1.20.1-14.4.4       |DONE      |Manifest: NOSIGNATURE         DungeonsArise-1.20.x-2.1.58-release.jar           |When Dungeons Arise           |dungeons_arise                |2.1.58-1.20.x       |DONE      |Manifest: NOSIGNATURE         logprot-1.20.1-3.5.jar                            |Logprot                       |logprot                       |1.4                 |DONE      |Manifest: NOSIGNATURE         TerraBlender-forge-1.20.1-3.0.1.10.jar            |TerraBlender                  |terrablender                  |3.0.1.10            |DONE      |Manifest: NOSIGNATURE         BiomesOPlenty-1.20.1-18.0.0.592.jar               |Biomes O' Plenty              |biomesoplenty                 |18.0.0.592          |DONE      |Manifest: NOSIGNATURE         GuardRibbits-1.20.1-Forge-1.0.7.jar               |Guard Ribbits                 |guardribbits                  |1.20.1-Forge-1.0.7  |DONE      |Manifest: NOSIGNATURE         lootintegration_wda-1.6.jar                       |lootintegration_wda mod       |lootintegration_wda           |1                   |DONE      |Manifest: NOSIGNATURE         Necronomicon-Forge-1.6.0+1.20.1.jar               |Necronomicon                  |necronomicon                  |1.6.0               |DONE      |Manifest: NOSIGNATURE         justenoughbreeding-forge-1.20-1.20.1-1.5.0.jar    |Just Enough Breeding          |justenoughbreeding            |1.5.0               |DONE      |Manifest: NOSIGNATURE         cleanswing-1.20-1.8.jar                           |Clean Swing Through Grass     |cleanswing                    |1.8                 |DONE      |Manifest: NOSIGNATURE         fabric-block-api-v1-1.0.11+0e6cb7f777.jar         |Fabric Block API (v1)         |fabric_block_api_v1           |1.0.11+0e6cb7f777   |DONE      |Manifest: NOSIGNATURE         fabric-resource-conditions-api-v1-2.3.8+9e342fc177|Fabric Resource Conditions API|fabric_resource_conditions_api|2.3.8+9e342fc177    |DONE      |Manifest: NOSIGNATURE         forgeconfigapiport-1.11.2+1.20.1.jar              |Forge Config API Port (Connect|forgeconfigapiport            |8.0.0               |DONE      |Manifest: NOSIGNATURE         astikorcarts-1.20.1-1.1.8.jar                     |AstikorCarts Redux            |astikorcarts                  |1.1.8               |DONE      |Manifest: NOSIGNATURE         BrewinAndChewin-1.20.1-3.2.1.jar                  |Brewin' And Chewin'           |brewinandchewin               |1.20.1-3.2.1        |DONE      |Manifest: NOSIGNATURE         notenoughanimations-forge-1.9.3-mc1.20.1.jar      |NotEnoughAnimations           |notenoughanimations           |1.9.3               |DONE      |Manifest: NOSIGNATURE         farmersrespite-1.20.1-2.1.2.jar                   |Farmer's Respite              |farmersrespite                |1.20.1-2.1          |DONE      |Manifest: NOSIGNATURE         shadowizardlib-1.20.1-1.2.5.jar                   |ShadowizardLib                |shadowizardlib                |1.20.1-1.2.5        |DONE      |Manifest: NOSIGNATURE         JustEnoughProfessions-forge-1.20.1-3.0.1.jar      |Just Enough Professions (JEP) |justenoughprofessions         |3.0.1               |DONE      |Manifest: NOSIGNATURE         wits-1.1.0+1.20.1-forge.jar                       |WITS                          |wits                          |1.1.0+1.20.1-forge  |DONE      |Manifest: NOSIGNATURE         fabric-registry-sync-v0-2.3.3+1c0ea72177.jar      |Fabric Registry Sync (v0)     |fabric_registry_sync_v0       |2.3.3+1c0ea72177    |DONE      |Manifest: NOSIGNATURE         FastFurnace-1.20.1-8.0.2.jar                      |FastFurnace                   |fastfurnace                   |8.0.2               |DONE      |Manifest: NOSIGNATURE         tlc_forge-1.0.3-R-1.20.X.jar                      |The Lost Castle               |tlc                           |1.0.2               |DONE      |Manifest: NOSIGNATURE         moremobvariants-forge+1.20.1-1.3.0.1.jar          |More Mob Variants             |moremobvariants               |1.3.0.1             |DONE      |Manifest: NOSIGNATURE         fabric-object-builder-api-v1-11.1.3+2174fc8477.jar|Fabric Object Builder API (v1)|fabric_object_builder_api_v1  |11.1.3+2174fc8477   |DONE      |Manifest: NOSIGNATURE         treasure2_undergarden_lp-1.20.1-3.6.2.jar         |Treasure2 Undergarden LP      |treasure2_undergarden_lp      |3.6.2               |DONE      |Manifest: NOSIGNATURE         Deep Dark Regrowth 1.2.6.1 - 1.20.1.jar           |Deep Dark: Regrowth           |deep_dark_regrowth            |1.2.6.1             |DONE      |Manifest: NOSIGNATURE         fabric-message-api-v1-5.1.9+52cc178c77.jar        |Fabric Message API (v1)       |fabric_message_api_v1         |5.1.9+52cc178c77    |DONE      |Manifest: NOSIGNATURE         cosmeticarmorreworked-1.20.1-v1a.jar              |CosmeticArmorReworked         |cosmeticarmorreworked         |1.20.1-v1a          |DONE      |Manifest: 5e:ed:25:99:e4:44:14:c0:dd:89:c1:a9:4c:10:b5:0d:e4:b1:52:50:45:82:13:d8:d0:32:89:67:56:57:01:53         phantasm-1.0.1.jar                                |End's Phantasm                |phantasm                      |1.0.1               |DONE      |Manifest: NOSIGNATURE         EuphoriaPatcher-1.5.2-r5.4-forge.jar              |EuphoriaPatcher               |euphoria_patcher              |1.5.2-r5.4-forge    |DONE      |Manifest: NOSIGNATURE         fruitsdelight-1.0.21.jar                          |Fruits Delight                |fruitsdelight                 |1.0.21              |DONE      |Manifest: NOSIGNATURE         grappling_hook_mod-1.20.1-1.20.1-v13.jar          |Grappling Hook Mod            |grapplemod                    |1.20.1-v13          |DONE      |Manifest: NOSIGNATURE         aether_enhanced_extinguishing-1.20.1-1.0.0-neoforg|Enhanced Extinguishing        |aether_enhanced_extinguishing |1.20.1-1.0.0-neoforg|DONE      |Manifest: NOSIGNATURE         SkyVillages-1.0.4-1.19.2-1.20.1-forge-release.jar |Sky Villages                  |skyvillages                   |1.0.4               |DONE      |Manifest: NOSIGNATURE         unusualfishmod-1.1.8.jar                          |Unusual Fish Mod              |unusualfishmod                |1.1.8               |DONE      |Manifest: NOSIGNATURE         kuma-api-forge-20.1.10+1.20.1.jar                 |KumaAPI                       |kuma_api                      |20.1.10             |DONE      |Manifest: NOSIGNATURE         fabric-renderer-api-v1-3.2.1+cf68abbe77.jar       |Fabric Renderer API (v1)      |fabric_renderer_api_v1        |3.2.1+cf68abbe77    |DONE      |Manifest: NOSIGNATURE         Animation_Overhaul-forge-1.20.x-1.3.1.jar         |Animation Overhaul            |animation_overhaul            |1.3.1               |DONE      |Manifest: NOSIGNATURE         fabric-item-api-v1-2.1.28+4d0bbcfa77.jar          |Fabric Item API (v1)          |fabric_item_api_v1            |2.1.28+4d0bbcfa77   |DONE      |Manifest: NOSIGNATURE         IllagerInvasion-v8.0.7-1.20.1-Forge.jar           |Illager Invasion              |illagerinvasion               |8.0.7               |DONE      |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a         fireproofboats-1.20.1-1.0.3.jar                   |Fireproof Boats               |fireproofboats                |1.20.1-1.0.3        |DONE      |Manifest: NOSIGNATURE         firstperson-forge-2.4.9-mc1.20.1.jar              |FirstPerson                   |firstperson                   |2.4.9               |DONE      |Manifest: NOSIGNATURE         AdditionalBanners-Forge-1.20.1-14.0.4.jar         |AdditionalBanners             |additionalbanners             |14.0.4              |DONE      |Manifest: eb:c4:b1:67:8b:f9:0c:db:dc:4f:01:b1:8e:61:64:39:4c:10:85:0b:a6:c4:c7:48:f0:fa:95:f2:cb:08:3a:e5         sophisticatedcore-1.20.1-1.2.46.956.jar           |Sophisticated Core            |sophisticatedcore             |1.2.46.956          |DONE      |Manifest: NOSIGNATURE         gpumemleakfix-1.20.1-1.8.jar                      |Gpu memory leak fix           |gpumemleakfix                 |1.20.1-1.8          |DONE      |Manifest: NOSIGNATURE         structureessentials-1.20.1-4.7.jar                |Structure Essentials mod      |structureessentials           |1.20.1-4.7          |DONE      |Manifest: NOSIGNATURE         villagernames-1.20.1-8.2.jar                      |Villager Names                |villagernames                 |8.2                 |DONE      |Manifest: NOSIGNATURE         elytra_physics-forge-2.1_mc1.19.3-1.20.4.jar      |Elytra physics                |elytra_physics                |2.1                 |DONE      |Manifest: NOSIGNATURE         Placebo-1.20.1-8.6.3.jar                          |Placebo                       |placebo                       |8.6.3               |DONE      |Manifest: NOSIGNATURE         jumpoverfences-forge-1.20.1-1.3.1.jar             |Jump Over Fences              |jumpoverfences                |1.3.1               |DONE      |Manifest: NOSIGNATURE         lootintegrations-1.20.1-4.3.jar                   |Lootintegrations mod          |lootintegrations              |1.20.1-4.3          |DONE      |Manifest: NOSIGNATURE         finsandtails-1.20.1-1.1.5.jar                     |Fins and Tails                |finsandtails                  |1.20.1-1.1.5        |DONE      |Manifest: NOSIGNATURE         cobweb-forge-1.20.1-1.0.1.jar                     |Cobweb                        |cobweb                        |1.0.1               |DONE      |Manifest: NOSIGNATURE         Bookshelf-Forge-1.20.1-20.2.13.jar                |Bookshelf                     |bookshelf                     |20.2.13             |DONE      |Manifest: eb:c4:b1:67:8b:f9:0c:db:dc:4f:01:b1:8e:61:64:39:4c:10:85:0b:a6:c4:c7:48:f0:fa:95:f2:cb:08:3a:e5         forgery-3.5.8+1.20.jar                            |Forgery                       |fabrication                   |3.5.8+1.20          |DONE      |Manifest: NOSIGNATURE         sophisticatedbackpacks-1.20.1-3.23.13.1229.jar    |Sophisticated Backpacks       |sophisticatedbackpacks        |3.23.13.1229        |DONE      |Manifest: NOSIGNATURE         mcw-doors-1.1.2-mc1.20.1forge.jar                 |Macaw's Doors                 |mcwdoors                      |1.1.2               |DONE      |Manifest: NOSIGNATURE         medieval_buildings-1.20.1-1.1.1-forge.jar         |Medieval Buildings            |medieval_buildings            |1.1.1               |DONE      |Manifest: NOSIGNATURE         bygonenether-1.3.2-1.20.x.jar                     |Bygone Nether                 |bygonenether                  |1.3.2               |DONE      |Manifest: NOSIGNATURE         carryon-forge-1.20.1-2.1.2.7.jar                  |Carry On                      |carryon                       |2.1.2.7             |DONE      |Manifest: NOSIGNATURE         macawsroofsbop-1.20-1.1.jar                       |Macaw's Roofs - BOP           |macawsroofsbop                |1.20-1.1            |DONE      |Manifest: NOSIGNATURE         fzzy_config-0.6.9+1.20.1+forge.jar                |Fzzy Config                   |fzzy_config                   |0.6.9+1.20.1+forge  |DONE      |Manifest: NOSIGNATURE         fabric-api-0.92.2+1.11.12+1.20.1.jar              |Forgified Fabric API          |fabric_api                    |0.92.2+1.11.12+1.20.|DONE      |Manifest: NOSIGNATURE         modmenu-bridge-1.11.2+1.20.1.jar                  |Connector Extras ModMenu Bridg|connectorextras_modmenu_bridge|1.11.2+1.20.1       |DONE      |Manifest: NOSIGNATURE         konkrete_forge_1.8.0_MC_1.20-1.20.1.jar           |Konkrete                      |konkrete                      |1.8.0               |DONE      |Manifest: NOSIGNATURE         DiagonalWalls-v8.0.4-1.20.1-Forge.jar             |Diagonal Walls                |diagonalwalls                 |8.0.4               |DONE      |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a         diagonalblocks-forge-8.0.6.jar                    |Diagonal Blocks               |diagonalblocks                |8.0.6               |DONE      |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a         mcw-bridges-3.0.0-mc1.20.1forge.jar               |Macaw's Bridges               |mcwbridges                    |3.0.0               |DONE      |Manifest: NOSIGNATURE         jearchaeology-1.20.1-1.0.4.jar                    |Just Enough Archaeology       |jearchaeology                 |1.20.1-1.0.4        |DONE      |Manifest: NOSIGNATURE         fabric-api-lookup-api-v1-1.6.36+67f9824077.jar    |Fabric API Lookup API (v1)    |fabric_api_lookup_api_v1      |1.6.36+67f9824077   |DONE      |Manifest: NOSIGNATURE         projectvibrantjourneys-1.20.1-6.1.0.jar           |Project: Vibrant Journeys     |projectvibrantjourneys        |1.20.1-6.1.0        |DONE      |Manifest: NOSIGNATURE         LetSleepingDogsLie-1.20.1-Forge-1.3.0.jar         |Let Sleeping Dogs Lie         |dogslie                       |1.3.0               |DONE      |Manifest: ae:67:c5:55:fb:7e:f3:4e:5c:71:f4:50:9e:df:a2:b0:32:86:cf:09:f2:fe:9b:db:94:3b:09:88:a2:3d:91:1f         nocube's_better_grindstone_1.0.1_forge_1.20.1.jar |NoCube's Better Grindstone    |nocubesbettergrindstone       |1.0.1               |DONE      |Manifest: NOSIGNATURE         eeeabsmobs-1.20.1-0.97-Fix.jar                    |EEEAB's Mobs                  |eeeabsmobs                    |1.20.1-0.97         |DONE      |Manifest: NOSIGNATURE         dynamiccrosshair-9.3+1.20.1-forge-api.jar         |Dynamic Crosshair API         |dynamiccrosshairapi           |1.1                 |DONE      |Manifest: NOSIGNATURE         lionfishapi-2.4-Fix.jar                           |LionfishAPI                   |lionfishapi                   |2.4-Fix             |DONE      |Manifest: NOSIGNATURE         fishontheline-1.20.1-3.5.jar                      |Fish On The Line              |fishontheline                 |3.5                 |DONE      |Manifest: NOSIGNATURE         architectury-bridge-1.11.2+1.20.1.jar             |Connector Extras Architectury |connectorextras_architectury_b|1.11.2+1.20.1       |DONE      |Manifest: NOSIGNATURE         memorysettings-1.20.1-5.9.jar                     |memorysettings mod            |memorysettings                |1.20.1-5.9          |DONE      |Manifest: NOSIGNATURE         realmrpg_seadwellers_2.9.9_forge_1.20.1.jar       |Realm RPG: Sea Dwellers       |seadwellers                   |2.9.9               |DONE      |Manifest: NOSIGNATURE         villagertools-1.20.1-1.0.3.jar                    |villagertools                 |villagertools                 |1.0.3               |DONE      |Manifest: 1f:47:ac:b1:61:82:96:b8:47:19:16:d2:61:81:11:60:3a:06:4b:61:31:56:7d:44:31:1e:0c:6f:22:5b:4c:ed         spartanfire-1.20.1-2.1.0.jar                      |Spartan Weaponry: Ice and Fire|spartanfire                   |2.1.0               |DONE      |Manifest: NOSIGNATURE         Connector-1.0.0-beta.46+1.20.1-mod.jar            |Connector                     |connectormod                  |1.0.0-beta.46+1.20.1|DONE      |Manifest: NOSIGNATURE         spartanskies-1.20.1-1.2.0.jar                     |Spartan Weaponry: Blue Skies  |spartanskies                  |1.20.1-1.2.0        |DONE      |Manifest: NOSIGNATURE         Runelic-Forge-1.20.1-18.0.2.jar                   |Runelic                       |runelic                       |18.0.2              |DONE      |Manifest: eb:c4:b1:67:8b:f9:0c:db:dc:4f:01:b1:8e:61:64:39:4c:10:85:0b:a6:c4:c7:48:f0:fa:95:f2:cb:08:3a:e5         starterkit-1.20.1-7.4.jar                         |Starter Kit                   |starterkit                    |7.4                 |DONE      |Manifest: NOSIGNATURE         BridgingMod-2.5.1+1.20.1.forge-release.jar        |Bridging Mod                  |bridgingmod                   |2.5.1+1.20.1        |DONE      |Manifest: NOSIGNATURE         twilightdelight-2.0.13.jar                        |Twilight's Flavor & Delight   |twilightdelight               |2.0.13              |DONE      |Manifest: NOSIGNATURE         immersivelanterns-forge-1.0.6-1.20.1.jar          |Immersive Lanterns            |immersivelanterns             |1.0.6               |DONE      |Manifest: NOSIGNATURE         AI-Improvements-1.20-0.5.2.jar                    |AI-Improvements               |aiimprovements                |0.5.2               |DONE      |Manifest: NOSIGNATURE         cupboard-1.20.1-2.7.jar                           |Cupboard utilities            |cupboard                      |1.20.1-2.7          |DONE      |Manifest: NOSIGNATURE         The_Undergarden-1.20.1-0.8.14.jar                 |The Undergarden               |undergarden                   |0.8.14              |DONE      |Manifest: NOSIGNATURE         monolib-forge-1.20.1-2.0.0.jar                    |MonoLib                       |monolib                       |2.0.0               |DONE      |Manifest: NOSIGNATURE         framework-forge-1.20.1-0.7.12.jar                 |Framework                     |framework                     |0.7.12              |DONE      |Manifest: 0d:78:5f:44:c0:47:0c:8c:e2:63:a3:04:43:d4:12:7d:b0:7c:35:37:dc:40:b1:c1:98:ec:51:eb:3b:3c:45:99         puffish_attributes-0.7.3-1.20-forge.jar           |Pufferfish's Attributes       |puffish_attributes            |0.7.3               |DONE      |Manifest: NOSIGNATURE         WhatTheBucket-Forge-1.20.1-11.0.3.jar             |WhatTheBucket                 |whatthebucket                 |11.0.3              |DONE      |Manifest: eb:c4:b1:67:8b:f9:0c:db:dc:4f:01:b1:8e:61:64:39:4c:10:85:0b:a6:c4:c7:48:f0:fa:95:f2:cb:08:3a:e5         quark_delight_1.0.0_forge_1.20.1.jar              |Quark Delight                 |quarkdelight                  |1.0.0               |DONE      |Manifest: NOSIGNATURE         Celestial Configuration-forge-1.20.1-1.1.1.jar    |Celestial Configuration       |celesteconfig                 |1.1.1               |DONE      |Manifest: NOSIGNATURE         dreadsteel-1.20.1-1.1.9.jar                       |Dreadsteel                    |dreadsteel                    |1.1.9               |DONE      |Manifest: NOSIGNATURE         fabric-key-binding-api-v1-1.0.37+561530ec77.jar   |Fabric Key Binding API (v1)   |fabric_key_binding_api_v1     |1.0.37+561530ec77   |DONE      |Manifest: NOSIGNATURE         fabric-transfer-api-v1-3.3.5+631c9cd677.jar       |Fabric Transfer API (v1)      |fabric_transfer_api_v1        |3.3.5+631c9cd677    |DONE      |Manifest: NOSIGNATURE         BedBenefits-Forge-1.20.1-13.0.3.jar               |BedBenefits                   |bedbenefits                   |13.0.3              |DONE      |Manifest: NOSIGNATURE         Shrines-1.20.1-6.0.2.jar                          |Shrines                       |shrines                       |1.20.1-6.0.2        |DONE      |Manifest: NOSIGNATURE         phantasmic-1.20.1-0.2.5.jar                       |Phantasmic                    |nourished_nether              |0.2.5               |DONE      |Manifest: NOSIGNATURE         Pretty Rain-1.20.1-Forge-1.1.3.jar                |Pretty Rain                   |particlerain                  |1.1.3               |DONE      |Manifest: NOSIGNATURE         common-networking-forge-1.0.5-1.20.1.jar          |Common Networking             |commonnetworking              |1.0.5-1.20.1        |DONE      |Manifest: NOSIGNATURE         pehkui-bridge-1.11.2+1.20.1.jar                   |Connector Extras Pehkui Bridge|connectorextras_pehkui_bridge |1.11.2+1.20.1       |DONE      |Manifest: NOSIGNATURE         the-conjurer-1.20.1-1.1.6.jar                     |The Conjurer                  |conjurer_illager              |1.1.6               |DONE      |Manifest: NOSIGNATURE         Monster Hunter Villager 1.2.1-1.20.1.jar          |Monster Hunter Villager       |monster_hunter_villager       |1.2.1               |DONE      |Manifest: NOSIGNATURE         fabric-resource-loader-v0-0.11.10+bcd08ed377.jar  |Fabric Resource Loader (v0)   |fabric_resource_loader_v0     |0.11.10+bcd08ed377  |DONE      |Manifest: NOSIGNATURE         obscure_api-15.jar                                |Obscure API                   |obscure_api                   |15                  |DONE      |Manifest: NOSIGNATURE         enlightend-5.0.14-1.20.1.jar                      |Enlightend                    |enlightened_end               |5.0.14              |DONE      |Manifest: NOSIGNATURE         illagerwarship-1.0.0 forge 1.20.1.jar             |Illager-Warship               |illagerwarship                |1.0.0               |DONE      |Manifest: NOSIGNATURE         mcw-paintings-1.0.5-1.20.1forge.jar               |Macaw's Paintings             |mcwpaintings                  |1.0.5               |DONE      |Manifest: NOSIGNATURE         Clumps-forge-1.20.1-12.0.0.4.jar                  |Clumps                        |clumps                        |12.0.0.4            |DONE      |Manifest: NOSIGNATURE         danger_close-merged-1.20.1-3.1.3.jar              |Danger Close                  |danger_close                  |3.1.3               |DONE      |Manifest: NOSIGNATURE         Tumbleweed-forge-1.20.1-0.5.5.jar                 |Tumbleweed                    |tumbleweed                    |0.5.5               |DONE      |Manifest: NOSIGNATURE         TheOuterEnd-1.0.10.jar                            |The Outer End                 |outer_end                     |1.0.8               |DONE      |Manifest: NOSIGNATURE         decorative_blocks-forge-1.20.1-4.1.3.jar          |Decorative Blocks             |decorative_blocks             |4.1.3               |DONE      |Manifest: NOSIGNATURE         Aquamirae Mod Boss Music Tweaks 1.20.1 v1.1.0.jar |Aquamirae Mod EXTRA Music     |aquamirae_mod_extra_music     |1.0.0               |DONE      |Manifest: NOSIGNATURE         ExplorersCompass-1.20.1-1.3.3-forge.jar           |Explorer's Compass            |explorerscompass              |1.20.1-1.3.3-forge  |DONE      |Manifest: NOSIGNATURE         PineappleDelight-Forge-1.20-1.0.13.jar            |Pineapple Delight             |pineapple_delight             |1.0.13              |DONE      |Manifest: NOSIGNATURE         iChunUtil-1.20.1-Forge-1.0.3.jar                  |iChunUtil                     |ichunutil                     |1.0.3               |DONE      |Manifest: ae:67:c5:55:fb:7e:f3:4e:5c:71:f4:50:9e:df:a2:b0:32:86:cf:09:f2:fe:9b:db:94:3b:09:88:a2:3d:91:1f         txnilib-forge-1.0.23-1.20.1.jar                   |TxniLib                       |txnilib                       |1.0.23              |DONE      |Manifest: NOSIGNATURE         azurelib-neo-1.20.1-2.0.41.jar                    |AzureLib                      |azurelib                      |2.0.41              |DONE      |Manifest: NOSIGNATURE         energy-bridge-1.11.2+1.20.1.jar                   |Connector Extras Energy Bridge|connectorextras_energy_bridge |1.11.2+1.20.1       |DONE      |Manifest: NOSIGNATURE         UsefulSlime-forge-1.20.1-1.8.1.jar                |Useful Slime                  |usefulslime                   |1.8.1               |DONE      |Manifest: NOSIGNATURE         skinlayers3d-forge-1.7.5-mc1.20.1.jar             |3d-Skin-Layers                |skinlayers3d                  |1.7.5               |DONE      |Manifest: NOSIGNATURE         TravelersTitles-1.20-Forge-4.0.2.jar              |Traveler's Titles             |travelerstitles               |1.20-Forge-4.0.2    |DONE      |Manifest: NOSIGNATURE         morezombievillagers-1.20.1-3.6.jar                |More Zombie Villagers         |morezombievillagers           |3.6                 |DONE      |Manifest: NOSIGNATURE         Raided-1.20.1-0.1.4.jar                           |Raided                        |raided                        |0.1.4               |DONE      |Manifest: NOSIGNATURE         friendsandfoes-forge-mc1.20.1-3.0.9.jar           |Friends&Foes                  |friendsandfoes                |3.0.9               |DONE      |Manifest: NOSIGNATURE         nyfsspiders-forge-1.20.1-2.1.1.jar                |Nyf's Spiders                 |nyfsspiders                   |2.1.1               |DONE      |Manifest: NOSIGNATURE         tetrasdelight-1.20.1-1.jar                        |Tetra's Delight               |tetrasdelight                 |1.20.1-1            |DONE      |Manifest: NOSIGNATURE         RubinatedNether-forge-1.3.0.E-1.20.1.jar          |Rubinated Nether              |rubinated_nether              |1.3.0.E-1.20.1      |DONE      |Manifest: NOSIGNATURE         extragore-1.20.1-5.2.3.1.jar                      |Extra Gore                    |extragore                     |5.2.3.1             |DONE      |Manifest: NOSIGNATURE         mysterious_mountain_lib-1.5.19-1.20.1.jar         |Mysterious Mountain Lib       |mysterious_mountain_lib       |1.5.19-1.20.1       |DONE      |Manifest: NOSIGNATURE         fabric-blockrenderlayer-v1-1.1.41+1d0da21e77.jar  |Fabric BlockRenderLayer Regist|fabric_blockrenderlayer_v1    |1.1.41+1d0da21e77   |DONE      |Manifest: NOSIGNATURE         Obscure-Tooltips-2.2.jar                          |Obscure Tooltips              |obscure_tooltips              |2.2                 |DONE      |Manifest: NOSIGNATURE         amecsapi-1.5.3+mc1.20-pre1.jar                    |Amecs API                     |amecsapi                      |1.5.3+mc1.20-pre1   |DONE      |Manifest: NOSIGNATURE         another_furniture-forge-1.20.1-3.0.2.jar          |Another Furniture             |another_furniture             |1.20.1-3.0.2        |DONE      |Manifest: NOSIGNATURE         spidersproducewebs-1.20.1-3.6.jar                 |Spiders Produce Webs          |spidersproducewebs            |3.6                 |DONE      |Manifest: NOSIGNATURE         CreativeCore_FORGE_v2.12.32_mc1.20.1.jar          |CreativeCore                  |creativecore                  |2.12.32             |DONE      |Manifest: NOSIGNATURE         SpartanShields-1.20.1-forge-3.1.1.jar             |Spartan Shields               |spartanshields                |3.1.1               |DONE      |Manifest: NOSIGNATURE         bucketlib-1.20.1-2.3.5.3.jar                      |BucketLib                     |bucketlib                     |1.20.1-2.3.5.3      |DONE      |Manifest: NOSIGNATURE         PigPen-Forge-1.20.1-15.0.2.jar                    |PigPen                        |pigpen                        |15.0.2              |DONE      |Manifest: NOSIGNATURE         FastWorkbench-1.20.1-8.0.4.jar                    |Fast Workbench                |fastbench                     |8.0.4               |DONE      |Manifest: NOSIGNATURE         StorageDrawers-1.20.1-12.9.13.jar                 |Storage Drawers               |storagedrawers                |12.9.13             |DONE      |Manifest: NOSIGNATURE         DiagonalFences-v8.1.5-1.20.1-Forge.jar            |Diagonal Fences               |diagonalfences                |8.1.5               |DONE      |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a         miners_delight-1.20.1-1.2.3.jar                   |Miner's Delight               |miners_delight                |1.20.1-1.2.3        |DONE      |Manifest: NOSIGNATURE         MyNethersDelight-1.20.1-0.1.7.5.jar               |My Nether's Delight           |mynethersdelight              |1.20.1-1.7.5        |DONE      |Manifest: NOSIGNATURE         betterarcheology-1.2.1-1.20.1.jar                 |Better Archeology             |betterarcheology              |1.2.1-1.20.1        |DONE      |Manifest: NOSIGNATURE         fabric-biome-api-v1-13.0.13+dc36698e77.jar        |Fabric Biome API (v1)         |fabric_biome_api_v1           |13.0.13+dc36698e77  |DONE      |Manifest: NOSIGNATURE         raised-forge-1.20.1-4.0.1.jar                     |Raised                        |raised                        |4.0.1               |DONE      |Manifest: NOSIGNATURE         ferritecore-6.0.1-forge.jar                       |Ferrite Core                  |ferritecore                   |6.0.1               |DONE      |Manifest: 41:ce:50:66:d1:a0:05:ce:a1:0e:02:85:9b:46:64:e0:bf:2e:cf:60:30:9a:fe:0c:27:e0:63:66:9a:84:ce:8a         Enhanced-Celestials-forge-1.20.1-5.0.3.1.jar      |Enhanced Celestials           |enhancedcelestials            |1.20.1-5.0.3.1      |DONE      |Manifest: NOSIGNATURE         Corgilib-Forge-1.20.1-4.0.3.3.jar                 |CorgiLib                      |corgilib                      |4.0.3.3             |DONE      |Manifest: NOSIGNATURE         Data_Anchor-forge-1.20.1-1.0.0.13.jar             |Data Anchor                   |dataanchor                    |1.0.0.13            |DONE      |Manifest: NOSIGNATURE         notrample-1.20.1-1.0.1.jar                        |No Trample                    |notrample                     |1.20.1-1.0.1        |DONE      |Manifest: NOSIGNATURE         justzoom_forge_2.1.1_MC_1.20.1.jar                |Just Zoom                     |justzoom                      |2.1.1               |DONE      |Manifest: NOSIGNATURE         majruszs-enchantments-forge-1.20.1-1.10.8.jar     |Majrusz's Enchantments        |majruszsenchantments          |1.10.8              |DONE      |Manifest: NOSIGNATURE         realmrpg_quests-0.1.1-forge-1.20.1.jar            |Realm RPG: Quests & Rewards   |realmrpg_quests               |0.1.1               |DONE      |Manifest: NOSIGNATURE         secondchanceforge-1.20-1.5.1.jar                  |Second Chance Forge           |secondchanceforge             |1.5.1               |DONE      |Manifest: NOSIGNATURE         mcwbyg-1.20.1-1.2.1.jar                           |Macaw's - Oh the Biomes You'll|mcwbyg                        |1.20.1-1.2.1        |DONE      |Manifest: NOSIGNATURE         addonslib-1.20.1-1.4.jar                          |Addons Lib                    |addonslib                     |1.20.1-1.4          |DONE      |Manifest: NOSIGNATURE         supermartijn642configlib-1.1.8-forge-mc1.20.jar   |SuperMartijn642's Config Libra|supermartijn642configlib      |1.1.8               |DONE      |Manifest: NOSIGNATURE         player-animation-lib-forge-1.0.2-rc1+1.20.jar     |Player Animator               |playeranimator                |1.0.2-rc1+1.20      |DONE      |Manifest: NOSIGNATURE         combatroll-forge-1.3.3+1.20.1.jar                 |Combat Roll                   |combatroll                    |1.3.3+1.20.1        |DONE      |Manifest: NOSIGNATURE         Grass_Overhaul-Forge-23.10.10-MC1.20.1.jar        |Grass Overhaul                |grassoverhaul                 |23.10.10            |DONE      |Manifest: NOSIGNATURE         mcw-windows-2.3.0-mc1.20.1forge.jar               |Macaw's Windows               |mcwwindows                    |2.3.0               |DONE      |Manifest: NOSIGNATURE         sound-physics-remastered-forge-1.20.1-1.4.13.jar  |Sound Physics Remastered      |sound_physics_remastered      |1.20.1-1.4.13       |DONE      |Manifest: NOSIGNATURE         fabric-convention-tags-v1-1.5.5+fa3d1c0177.jar    |Fabric Convention Tags        |fabric_convention_tags_v1     |1.5.5+fa3d1c0177    |DONE      |Manifest: NOSIGNATURE         lootbeams-1.20.1-1.2.6.jar                        |LootBeams                     |lootbeams                     |1.20.1              |DONE      |Manifest: NOSIGNATURE         guardvillagers-1.20.1-1.6.10.jar                  |Guard Villagers               |guardvillagers                |1.20.1-1.6.10       |DONE      |Manifest: NOSIGNATURE         forge-medievalend-1.0.1.jar                       |Medieval Buildings [The End Ed|medievalend                   |1.0.1               |DONE      |Manifest: NOSIGNATURE         treasure2_twilight_forest_lp-1.20.1-3.6.2.jar     |Treasure2 Twilight Forest LP  |treasure2_twilight_forest_lp  |3.6.2               |DONE      |Manifest: NOSIGNATURE         Compat_FarmersDelight.jar                         |Farmer's Delight Compat       |farmersdelightcompat          |1.1.0               |DONE      |Manifest: NOSIGNATURE         farmers-cutting-biomes-o-plenty-1.0.0.jar         |Farmer's Cutting: Biomes O' Pl|fcbop                         |1.0.0               |DONE      |Manifest: NOSIGNATURE         balm-forge-1.20.1-7.3.27-all.jar                  |Balm                          |balm                          |7.3.27              |DONE      |Manifest: NOSIGNATURE         fabric-screen-api-v1-2.0.8+45a670a577.jar         |Fabric Screen API (v1)        |fabric_screen_api_v1          |2.0.8+45a670a577    |DONE      |Manifest: NOSIGNATURE         dynview-1.20.1-4.0.jar                            |Dynamic view distance         |dynview                       |2.3                 |DONE      |Manifest: NOSIGNATURE         immersive_armors-1.6.1+1.20.1-forge.jar           |Immersive Armors              |immersive_armors              |1.6.1+1.20.1        |DONE      |Manifest: NOSIGNATURE         JustEnoughResources-1.20.1-1.4.0.247.jar          |Just Enough Resources         |jeresources                   |1.4.0.247           |DONE      |Manifest: NOSIGNATURE         [forge]ctov-3.4.13.jar                            |ChoiceTheorem's Overhauled Vil|ctov                          |3.4.13              |DONE      |Manifest: NOSIGNATURE         vminus-forge-1.20.1-3.2.7.jar                     |VMinus                        |vminus                        |3.2.7               |DONE      |Manifest: NOSIGNATURE         athena-forge-1.20.1-3.1.1.jar                     |Athena                        |athena                        |3.1.1               |DONE      |Manifest: NOSIGNATURE         terrablender-bridge-1.11.2+1.20.1.jar             |Connector Extras Terrablender |connectorextras_terrablender_b|1.11.2+1.20.1       |DONE      |Manifest: NOSIGNATURE         vintagedelight-0.1.6.jar                          |Vintage Delight               |vintagedelight                |0.1.6               |DONE      |Manifest: NOSIGNATURE         fabric-game-rule-api-v1-1.0.40+683d4da877.jar     |Fabric Game Rule API (v1)     |fabric_game_rule_api_v1       |1.0.40+683d4da877   |DONE      |Manifest: NOSIGNATURE         ToolStats-Forge-1.20.1-16.0.9.jar                 |ToolStats                     |toolstats                     |16.0.9              |DONE      |Manifest: eb:c4:b1:67:8b:f9:0c:db:dc:4f:01:b1:8e:61:64:39:4c:10:85:0b:a6:c4:c7:48:f0:fa:95:f2:cb:08:3a:e5         WaystonesTeleportPets-1.20-1.20.1--1.2.jar        |Waystones Teleport Pets       |w2pets                        |1.0                 |DONE      |Manifest: NOSIGNATURE         ironfurnaces-1.20.1-4.1.6.jar                     |Iron Furnaces                 |ironfurnaces                  |4.1.6               |DONE      |Manifest: NOSIGNATURE         unusualend-2.3.0-forge-1.20.1.jar                 |Unusual End                   |unusualend                    |2.3.0               |DONE      |Manifest: NOSIGNATURE         supermartijn642corelib-1.1.18-forge-mc1.20.1.jar  |SuperMartijn642's Core Lib    |supermartijn642corelib        |1.1.18              |DONE      |Manifest: NOSIGNATURE         YungsBridges-1.20-Forge-4.0.3.jar                 |YUNG's Bridges                |yungsbridges                  |1.20-Forge-4.0.3    |DONE      |Manifest: NOSIGNATURE         resourcefulconfig-forge-1.20.1-2.1.3.jar          |Resourcefulconfig             |resourcefulconfig             |2.1.3               |DONE      |Manifest: NOSIGNATURE         enchantmenttransfer-0.0.6-1.20.1.jar              |Enchantment Transfer          |enchantmenttransfer           |0.0.6               |DONE      |Manifest: NOSIGNATURE         tidal-towns-1.3.4.jar                             |Tidal Towns                   |mr_tidal_towns                |1.3.4               |DONE      |Manifest: NOSIGNATURE         mysticaloaktree-1.20-1.11.jar                     |Mystical Oak Tree             |mysticaloaktree               |1.20-1.11           |DONE      |Manifest: NOSIGNATURE         curios-forge-5.14.1+1.20.1.jar                    |Curios API                    |curios                        |5.14.1+1.20.1       |DONE      |Manifest: NOSIGNATURE         Desert Mining 1.0.0 -1.20.1.jar                   |Desert Mining                 |desert_mining                 |1.0.0               |DONE      |Manifest: NOSIGNATURE         Searchables-forge-1.20.1-1.0.3.jar                |Searchables                   |searchables                   |1.0.3               |DONE      |Manifest: NOSIGNATURE         Eldritch_End-FORGE-MC1.20.1-0.3.3_mapped_srg_1.20.|Eldritch End                  |eldritch_end                  |0.3.3               |DONE      |Manifest: NOSIGNATURE         Measurements-forge-1.20.1-2.0.1.jar               |Measurements                  |measurements                  |2.0.1               |DONE      |Manifest: NOSIGNATURE         fabric-entity-events-v1-1.6.0+6274ab9d77.jar      |Fabric Entity Events (v1)     |fabric_entity_events_v1       |1.6.0+6274ab9d77    |DONE      |Manifest: NOSIGNATURE         sapience-1.20.1-1.0.0.jar                         |Sapience                      |sapience                      |1.20.1-1.0.0        |DONE      |Manifest: NOSIGNATURE         mcw-furniture-3.3.0-mc1.20.1forge.jar             |Macaw's Furniture             |mcwfurnitures                 |3.3.0               |DONE      |Manifest: NOSIGNATURE         ApothicCurios-1.20.1-1.0.3d.jar                   |Apothic Curios                |apothiccurios                 |1.0.3d              |DONE      |Manifest: NOSIGNATURE         mountedpearl-1.20.1-1.0.1.jar                     |Mounted Pearl                 |mountedpearl                  |1.0.1               |DONE      |Manifest: 1f:47:ac:b1:61:82:96:b8:47:19:16:d2:61:81:11:60:3a:06:4b:61:31:56:7d:44:31:1e:0c:6f:22:5b:4c:ed         DerexMaceMod-Balanced-1.20.1-8.1.7.2.jar          |Mace                          |mace_backport                 |8.1.7.2             |DONE      |Manifest: NOSIGNATURE         Haste Enchantment 1.0.0 - 1.20.1.jar              |Haste Enchantment             |hasteenchantment              |1.0.0               |DONE      |Manifest: NOSIGNATURE         AdChimneys-1.20.1-10.1.16.0-build.0995.jar        |Advanced Chimneys             |adchimneys                    |10.1.16.0           |DONE      |Manifest: NOSIGNATURE         JadeAddons-1.20.1-Forge-5.3.1.jar                 |Jade Addons                   |jadeaddons                    |5.3.1+forge         |DONE      |Manifest: NOSIGNATURE         majrusz-library-forge-1.20.1-7.0.8.jar            |Majrusz Library               |majruszlibrary                |7.0.8               |DONE      |Manifest: NOSIGNATURE         DarkPaintings-Forge-1.20.1-17.0.4.jar             |DarkPaintings                 |darkpaintings                 |17.0.4              |DONE      |Manifest: eb:c4:b1:67:8b:f9:0c:db:dc:4f:01:b1:8e:61:64:39:4c:10:85:0b:a6:c4:c7:48:f0:fa:95:f2:cb:08:3a:e5         mcwabnormals-1.20.1-1.2.jar                       |Macaw's Abnormals             |mcwabnormals                  |1.20.1-1.2          |DONE      |Manifest: NOSIGNATURE         DripSounds-1.19.4-0.3.2.jar                       |Drip Sounds                   |waterdripsound                |0.3.2               |DONE      |Manifest: NOSIGNATURE         fabric-dimensions-v1-2.1.54+8005d10d77.jar        |Fabric Dimensions API (v1)    |fabric_dimensions_v1          |2.1.54+8005d10d77   |DONE      |Manifest: NOSIGNATURE         BetterAnimationsCollection-v8.0.0-1.20.1-Forge.jar|Better Animations Collection  |betteranimationscollection    |8.0.0               |DONE      |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a         mowziesmobs-1.7.1.jar                             |Mowzie's Mobs                 |mowziesmobs                   |1.7.1               |DONE      |Manifest: NOSIGNATURE         Fastload-Reforged-mc1.20.1-3.4.0.jar              |Fastload-Reforged             |fastload                      |3.4.0               |DONE      |Manifest: NOSIGNATURE         puzzlesapi-forge-8.1.7.jar                        |Puzzles Api                   |puzzlesapi                    |8.1.7               |DONE      |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a         formationsnether-1.0.5.jar                        |Formations Nether             |formationsnether              |1.0.5               |DONE      |Manifest: NOSIGNATURE         [1.20.1][Forge] RPG-HUD-3.10.jar                  |RPG-HUD                       |rpghud                        |3.10                |DONE      |Manifest: NOSIGNATURE         fabric-model-loading-api-v1-1.0.3+6274ab9d77.jar  |Fabric Model Loading API (v1) |fabric_model_loading_api_v1   |1.0.3+6274ab9d77    |DONE      |Manifest: NOSIGNATURE         lithostitched-forge-1.20.1-1.4.4.jar              |Lithostitched                 |lithostitched                 |1.4                 |DONE      |Manifest: NOSIGNATURE         Stoneworks-v8.0.0-1.20.1-Forge.jar                |Stoneworks                    |stoneworks                    |8.0.0               |DONE      |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a         fabric-rendering-v1-3.0.8+66e9a48f77.jar          |Fabric Rendering (v1)         |fabric_rendering_v1           |3.0.8+66e9a48f77    |DONE      |Manifest: NOSIGNATURE         fabric-renderer-indigo-1.5.2+b5b2da4177.jar       |Fabric Renderer - Indigo      |fabric_renderer_indigo        |1.5.2+b5b2da4177    |DONE      |Manifest: NOSIGNATURE         fallingleaves-1.20.1-2.1.2.jar                    |Fallingleaves                 |fallingleaves                 |2.1.2               |DONE      |Manifest: NOSIGNATURE         ApotheoticAdditionsV2.2.2.jar                     |Apotheotic Additions          |apotheotic_additions          |2.2.2               |DONE      |Manifest: NOSIGNATURE         NaturesCompass-1.20.1-1.11.2-forge.jar            |Nature's Compass              |naturescompass                |1.20.1-1.11.2-forge |DONE      |Manifest: NOSIGNATURE         smarterfarmers-1.20-2.1.2.jar                     |Smarter Farmers               |smarterfarmers                |1.20-2.1.2          |DONE      |Manifest: NOSIGNATURE         jumpboat-1.20.0-1.0.5.jar                         |Jumpy Boats                   |jumpboat                      |1.20.0-1.0.5        |DONE      |Manifest: NOSIGNATURE         catjammies-1.20.1-1.6.2.jar                       |CatJammies                    |catjammies                    |1.20.1-1.6.2        |DONE      |Manifest: NOSIGNATURE         GlitchCore-forge-1.20.1-0.0.1.1.jar               |GlitchCore                    |glitchcore                    |0.0.1.1             |DONE      |Manifest: NOSIGNATURE         SereneSeasons-forge-1.20.1-9.1.0.2.jar            |Serene Seasons                |sereneseasons                 |9.1.0.2             |DONE      |Manifest: NOSIGNATURE         geckolib-fabric-compat-1.11.2+1.20.1.jar          |Connector Extras Geckolib-Fabr|connectorextras_geckolib_fabri|1.11.2+1.20.1       |DONE      |Manifest: NOSIGNATURE         table_top_craft-1.20.1-6.1.2.jar                  |Table Top Craft               |table_top_craft               |1.20.1-6.1.2        |DONE      |Manifest: NOSIGNATURE         dismountentity-1.20.1-3.6.jar                     |Dismount Entity               |dismountentity                |3.6                 |DONE      |Manifest: NOSIGNATURE         Speed Enchantment 1.0.0 - 1.20.1.jar              |Speed Enchantment             |speed_enchantment             |1.0.0               |DONE      |Manifest: NOSIGNATURE         formations-1.0.3-forge-mc1.20.2.jar               |Formations                    |formations                    |1.0.3               |DONE      |Manifest: NOSIGNATURE         aether_delight_1.0.0_forge_1.20.1.jar             |Aether Delight                |aetherdelight                 |1.0.0               |DONE      |Manifest: NOSIGNATURE         puzzlesaccessapi-forge-20.1.1.jar                 |Puzzles Access Api            |puzzlesaccessapi              |20.1.1              |DONE      |Manifest: NOSIGNATURE         DungeonsAriseSevenSeas-1.20.x-1.0.2-forge.jar     |When Dungeons Arise: Seven Sea|dungeons_arise_seven_seas     |1.0.2               |DONE      |Manifest: NOSIGNATURE         More Wandering Trades 1.0.0 - 1.20.1.jar          |More Wandering Trades         |more_wandering_trades         |1.0.0               |DONE      |Manifest: NOSIGNATURE         chalk-1.20.1-1.6.5.jar                            |Chalk                         |chalk                         |1.6.5               |DONE      |Manifest: NOSIGNATURE         ZombieMoon-1.20.jar                               |Horde Moon                    |zombiemoon                    |1.20                |DONE      |Manifest: NOSIGNATURE         mcw-paths-1.1.0forge-mc1.20.1.jar                 |Macaw's Paths and Pavings     |mcwpaths                      |1.1.0               |DONE      |Manifest: NOSIGNATURE         wither_spawn_animation-1.5.1-forge-1.20.1.jar     |Wither Spawn Animation        |wither_spawn_animation        |1.5.1               |DONE      |Manifest: NOSIGNATURE         fabric-api-base-0.4.31+ef105b4977.jar             |Fabric API Base               |fabric_api_base               |0.4.31+ef105b4977   |DONE      |Manifest: NOSIGNATURE         MouseTweaks-forge-mc1.20.1-2.25.1.jar             |Mouse Tweaks                  |mousetweaks                   |2.25.1              |DONE      |Manifest: NOSIGNATURE         EasierSleeping-1.20.1-2.1.3.jar                   |Easier Sleeping               |easier_sleeping               |2.1.3               |DONE      |Manifest: NOSIGNATURE         cwb-forge-3.0.0+mc1.20.jar                        |Cubes Without Borders         |cubes_without_borders         |3.0.0+mc1.20        |DONE      |Manifest: NOSIGNATURE         Oh-The-Trees-Youll-Grow-forge-1.20.1-1.3.8.jar    |Oh The Trees You'll Grow      |ohthetreesyoullgrow           |1.3.8               |DONE      |Manifest: NOSIGNATURE         spectrelib-forge-0.13.17+1.20.1.jar               |SpectreLib                    |spectrelib                    |0.13.17+1.20.1      |DONE      |Manifest: NOSIGNATURE         jei-bridge-1.11.2+1.20.1.jar                      |Connector Extras JEI Bridge   |connectorextras_jei_bridge    |1.11.2+1.20.1       |DONE      |Manifest: NOSIGNATURE         kffmod-4.11.0.jar                                 |Kotlin For Forge              |kotlinforforge                |4.11.0              |DONE      |Manifest: NOSIGNATURE         ecologics-forge-1.20.1-2.2.0.jar                  |Ecologics                     |ecologics                     |2.2.0               |DONE      |Manifest: NOSIGNATURE         fabric-item-group-api-v1-4.0.12+c9161c2d77.jar    |Fabric Item Group API (v1)    |fabric_item_group_api_v1      |4.0.12+c9161c2d77   |DONE      |Manifest: NOSIGNATURE         imfast-FORGE-1.20.1-1.0.2.jar                     |I'm Fast                      |imfast                        |1.0.2               |DONE      |Manifest: NOSIGNATURE         polymorph-forge-0.49.9+1.20.1.jar                 |Polymorph                     |polymorph                     |0.49.9+1.20.1       |DONE      |Manifest: NOSIGNATURE         entityculling-forge-1.7.4-mc1.20.1.jar            |EntityCulling                 |entityculling                 |1.7.4               |DONE      |Manifest: NOSIGNATURE         oceansdelight-1.0.2-1.20.jar                      |Ocean's Delight               |oceansdelight                 |1.0.2-1.20          |DONE      |Manifest: NOSIGNATURE         fabric-recipe-api-v1-1.0.21+514a076577.jar        |Fabric Recipe API (v1)        |fabric_recipe_api_v1          |1.0.21+514a076577   |DONE      |Manifest: NOSIGNATURE         visuality-forge-2.0.2.jar                         |Visuality: Reforged           |visuality                     |2.0.2               |DONE      |Manifest: NOSIGNATURE         ubesdelight-forge-1.20.1-0.3.4.jar                |Ube's Delight                 |ubesdelight                   |0.3.4               |DONE      |Manifest: NOSIGNATURE         PuzzlesLib-v8.1.32-1.20.1-Forge.jar               |Puzzles Lib                   |puzzleslib                    |8.1.32              |DONE      |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a         FriendlyFire-Forge-1.20.1-18.0.7.jar              |FriendlyFire                  |friendlyfire                  |18.0.7              |DONE      |Manifest: eb:c4:b1:67:8b:f9:0c:db:dc:4f:01:b1:8e:61:64:39:4c:10:85:0b:a6:c4:c7:48:f0:fa:95:f2:cb:08:3a:e5         fabric-sound-api-v1-1.0.13+4f23bd8477.jar         |Fabric Sound API (v1)         |fabric_sound_api_v1           |1.0.13+4f23bd8477   |DONE      |Manifest: NOSIGNATURE         explosiveenhancement-1.1.0-1.20.1-client-and-serve|Explosive Enhancement         |explosiveenhancement          |1.1.0               |DONE      |Manifest: NOSIGNATURE         chunksending-1.20.1-2.8.jar                       |chunksending mod              |chunksending                  |1.20.1-2.8          |DONE      |Manifest: NOSIGNATURE         aquamirae-6.API15.jar                             |Aquamirae                     |aquamirae                     |6.API15             |DONE      |Manifest: NOSIGNATURE         xptome-1.20.1-2.2.1.jar                           |XP Tome                       |xpbook                        |2.2.1               |DONE      |Manifest: NOSIGNATURE         cristellib-1.1.6-forge.jar                        |Cristel Lib                   |cristellib                    |1.1.6               |DONE      |Manifest: NOSIGNATURE         CarbonConfig-1.20-1.2.7.jar                       |Carbon Config Library         |carbonconfig                  |1.20-1.2.7          |DONE      |Manifest: NOSIGNATURE         tetra-1.20.1-6.9.0.jar                            |tetra                         |tetra                         |6.9.0               |DONE      |Manifest: NOSIGNATURE         undergardenpatch-1.4.2-1.20.1.jar                 |Undergarden-Tetra Patch       |undergardenpatch              |1.4.2-1.20.1        |DONE      |Manifest: NOSIGNATURE         tetranomicon-1.6.1-1.20.1.jar                     |Tetranomicon                  |tetranomicon                  |1.6.1-1.20.1        |DONE      |Manifest: NOSIGNATURE         TreeChop-1.20.1-forge-0.19.0-fixed.jar            |HT's TreeChop                 |treechop                      |0.19.0              |DONE      |Manifest: NOSIGNATURE         Tropicraft-9.6.3.jar                              |Tropicraft                    |tropicraft                    |9.6.3               |DONE      |Manifest: NOSIGNATURE         blue_skies-1.20.1-1.3.31.jar                      |Blue Skies                    |blue_skies                    |1.3.31              |DONE      |Manifest: NOSIGNATURE         dimasctetracompat-1.20.1-1.5.0.0.jar              |Dimensional Ascension Tetra Co|dimasctetracompat             |1.5.0.0             |DONE      |Manifest: NOSIGNATURE         geckolib-forge-1.20.1-4.7.1.2.jar                 |GeckoLib 4                    |geckolib                      |4.7.1.2             |DONE      |Manifest: NOSIGNATURE         Oh-The-Biomes-Weve-Gone-Forge-1.5.11.jar          |Oh The Biomes We've Gone      |biomeswevegone                |1.5.11              |DONE      |Manifest: NOSIGNATURE         creeperoverhaul-3.0.2-forge.jar                   |Creeper Overhaul              |creeperoverhaul               |3.0.2               |DONE      |Manifest: NOSIGNATURE         ars_nouveau-1.20.1-4.12.6-all.jar                 |Ars Nouveau                   |ars_nouveau                   |4.12.6              |DONE      |Manifest: NOSIGNATURE         crittersandcompanions-forge-2.2.2.jar             |Critters and Companions       |crittersandcompanions         |2.2.2               |DONE      |Manifest: NOSIGNATURE         aether-1.20.1-1.5.2-neoforge.jar                  |The Aether                    |aether                        |1.20.1-1.5.2-neoforg|DONE      |Manifest: NOSIGNATURE         aetheric_tetranomicon-1.2.0-1.20.1.jar            |Aetheric Tetranomicon         |aetheric_tetranomicon         |1.2.0-1.20.1        |DONE      |Manifest: NOSIGNATURE         lost_aether_content-1.20.1-1.2.3.jar              |Aether: Lost Content          |lost_aether_content           |1.2.3               |DONE      |Manifest: NOSIGNATURE         deep_aether-1.20.1-1.1.5.jar                      |Deep Aether                   |deep_aether                   |1.20.1-1.1.5        |DONE      |Manifest: NOSIGNATURE         aeroblender-1.20.1-1.0.2-rc1-neoforge.jar         |AeroBlender                   |aeroblender                   |1.20.1-1.0.2-rc1-neo|DONE      |Manifest: NOSIGNATURE         ancient_aether-0.9.10.jar                         |Ancient Aether                |ancient_aether                |0.9.10              |DONE      |Manifest: NOSIGNATURE         naturalist-5.0pre2+forge-1.20.1.jar               |Naturalist                    |naturalist                    |5.0pre2             |DONE      |Manifest: NOSIGNATURE         soulbound-forge-1.0.0+1.20.1.jar                  |Soulbound                     |soulbound                     |1.0.0               |DONE      |Manifest: NOSIGNATURE         dynamiclights-1.20.1.2.jar                        |Dynamic Lights                |dynamiclights                 |1.20.1.2            |DONE      |Manifest: NOSIGNATURE         Nether's Overhaul-1.20.1_V1.3.6.jar               |Nether's Overhaul             |netheroverhaul                |1.3.6               |DONE      |Manifest: NOSIGNATURE         HorseExpert-v8.1.1-1.20.1-Forge.jar               |Horse Expert                  |horseexpert                   |8.1.1               |DONE      |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a         PaperDoll-v8.0.0-1.20.1-Forge.jar                 |Paper Doll                    |paperdoll                     |8.0.0               |DONE      |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a         golemsarefriends-1.20.0-1.0.1.jar                 |Golems Are Friends Not Fodder |golemsarefriends              |1.20.0-1.0.1        |DONE      |Manifest: NOSIGNATURE         Controlling-forge-1.20.1-12.0.2.jar               |Controlling                   |controlling                   |12.0.2              |DONE      |Manifest: NOSIGNATURE         citadel-2.6.1-1.20.1.jar                          |Citadel                       |citadel                       |2.6.1               |DONE      |Manifest: NOSIGNATURE         Rats-1.20.1-8.1.3.jar                             |Rats                          |rats                          |1.20.1-8.1.3        |DONE      |Manifest: NOSIGNATURE         alexsmobs-1.22.9.jar                              |Alex's Mobs                   |alexsmobs                     |1.22.9              |DONE      |Manifest: NOSIGNATURE         iceandfire-2.1.13-1.20.1-beta-5.jar               |Ice and Fire                  |iceandfire                    |2.1.13-1.20.1       |DONE      |Manifest: NOSIGNATURE         forge-1.20.1-47.4.0-universal.jar                 |Forge                         |forge                         |47.4.0              |DONE      |Manifest: 84:ce:76:e8:45:35:e4:0e:63:86:df:47:59:80:0f:67:6c:c1:5f:6e:5f:4d:b3:54:47:1a:9f:7f:ed:5e:f2:90         Auroras-1.20.1-1.6.2.jar                          |Auroras                       |auroras                       |1.6.2               |DONE      |Manifest: NOSIGNATURE         appleskin-forge-mc1.20.1-2.5.1.jar                |AppleSkin                     |appleskin                     |2.5.1+mc1.20.1      |DONE      |Manifest: NOSIGNATURE         AkashicTome-1.7-27.jar                            |Akashic Tome                  |akashictome                   |1.7-27              |DONE      |Manifest: NOSIGNATURE         dragonseeker-1.2.0-1.20.1.jar                     |Dragonseeker                  |dragonseeker                  |1.2.0-1.20.1        |DONE      |Manifest: NOSIGNATURE         Zeta-1.0-30.jar                                   |Zeta                          |zeta                          |1.0-30              |DONE      |Manifest: NOSIGNATURE         Aquaculture-1.20.1-2.5.5.jar                      |Aquaculture 2                 |aquaculture                   |2.5.5               |DONE      |Manifest: NOSIGNATURE         fabric-data-attachment-api-v1-1.0.0+30ef839e77.jar|Fabric Data Attachment API (v1|fabric_data_attachment_api_v1 |1.0.0+30ef839e77    |DONE      |Manifest: NOSIGNATURE         mixinextras-forge-0.4.1.jar                       |MixinExtras                   |mixinextras                   |0.4.1               |DONE      |Manifest: NOSIGNATURE         AetherVillages-1.20.1-1.0.7-forge.jar             |Aether Villages               |aether_villages               |1.0.7               |DONE      |Manifest: NOSIGNATURE         endercrop-1.20.1-1.7.0.jar                        |Ender Crop                    |endercrop                     |1.20.1-1.7.0        |DONE      |Manifest: NOSIGNATURE         storagedelight-25.03.09-1.20-forge.jar            |Storage Delight               |storagedelight                |25.03.09-1.20-forge |DONE      |Manifest: NOSIGNATURE         Twigs-1.20.1-3.1.0.jar                            |Twigs                         |twigs                         |1.20.1-3.1.1        |DONE      |Manifest: NOSIGNATURE         MinersMoon1.20.jar                                |Miner's Moon                  |minersmoon                    |1.20.1              |DONE      |Manifest: NOSIGNATURE         Waddles-1.20.1-0.9.4.jar                          |Waddles                       |waddles                       |0.9.4               |DONE      |Manifest: NOSIGNATURE         jeed-1.20-2.2.5.jar                               |Just Enough Effects Descriptio|jeed                          |1.20-2.2.5          |DONE      |Manifest: NOSIGNATURE         hauntedharvest-1.20-3.2.0.jar                     |Haunted Harvest               |hauntedharvest                |1.20-3.2.0          |DONE      |Manifest: NOSIGNATURE         dummmmmmy-1.20-2.0.6.jar                          |MmmMmmMmmmmm                  |dummmmmmy                     |1.20-2.0.6          |DONE      |Manifest: NOSIGNATURE         fabric-content-registries-v0-4.0.11+a670df1e77.jar|Fabric Content Registries (v0)|fabric_content_registries_v0  |4.0.11+a670df1e77   |DONE      |Manifest: NOSIGNATURE         twilightforest-1.20.1-4.3.2508-universal.jar      |The Twilight Forest           |twilightforest                |4.3.2508            |DONE      |Manifest: NOSIGNATURE         sodiumdynamiclights-forge-1.0.10-1.20.1.jar       |Sodium Dynamic Lights         |sodiumdynamiclights           |1.0.9               |DONE      |Manifest: NOSIGNATURE         better_climbing-forge-3.jar                       |Better Climbing               |better_climbing               |3                   |DONE      |Manifest: NOSIGNATURE         FarmersDelight-1.20.1-1.2.7.jar                   |Farmer's Delight              |farmersdelight                |1.20.1-1.2.7        |DONE      |Manifest: NOSIGNATURE         corn_delight-1.1.6-1.20.1.jar                     |Corn Delight                  |corn_delight                  |1.1.6-1.20.1        |DONE      |Manifest: NOSIGNATURE         largemeals-1.20.1-1.3.0.jar                       |Large Meals                   |largemeals                    |1.20.1-1.3.0        |DONE      |Manifest: NOSIGNATURE         ends_delight-1.20.1-2.4.jar                       |End's Delight                 |ends_delight                  |2.4                 |DONE      |Manifest: NOSIGNATURE         chefs-delight-1.0.3-forge-1.20.1.jar              |Chefs Delight                 |chefsdelight                  |1.0.3-forge-1.20.1  |DONE      |Manifest: NOSIGNATURE         culturaldelights-0.16.4.jar                       |Cultural Delights             |culturaldelights              |0.16.4              |DONE      |Manifest: NOSIGNATURE         curious_armor_stands-1.20-5.1.0.jar               |Curious Armor Stands          |curious_armor_stands          |1.20-5.1.0          |DONE      |Manifest: NOSIGNATURE         endersdelight-forge-1.20.1-1.1.2.jar              |Ender's Delight               |endersdelight                 |1.1.2               |DONE      |Manifest: NOSIGNATURE         treasure2-1.20.1-3.12.0.jar                       |Treasure2                     |treasure2                     |3.12.0              |DONE      |Manifest: NOSIGNATURE         gottschcore-1.20.1-2.3.0.jar                      |GottschCore                   |gottschcore                   |2.3.0               |DONE      |Manifest: NOSIGNATURE         mcw-fences-1.2.0-1.20.1forge.jar                  |Macaw's Fences and Walls      |mcwfences                     |1.2.0               |DONE      |Manifest: NOSIGNATURE         spartanundergarden-1.20.1-1.1.0.jar               |Spartan Weaponry: Undergarden |spartanundergarden            |1.20.1-1.1.0        |DONE      |Manifest: NOSIGNATURE         reach-entity-attributes-2.4.0.jar                 |Reach Entity Attributes       |reach_entity_attributes       |2.4.0               |DONE      |Manifest: NOSIGNATURE         zmedievalmusic-1.20.1-2.1.jar                     |medievalmusic mod             |medievalmusic                 |1.20.1-2.1          |DONE      |Manifest: NOSIGNATURE         villagespawnpoint-1.20.1-4.6.jar                  |Village Spawn Point           |villagespawnpoint             |4.6                 |DONE      |Manifest: NOSIGNATURE         spartantoolkit-1.20.1-1.5.2.jar                   |Spartan Weaponry Addon Toolkit|spartantoolkit                |1.20.1-1.5.2        |DONE      |Manifest: NOSIGNATURE         Patchouli-1.20.1-84.1-FORGE.jar                   |Patchouli                     |patchouli                     |1.20.1-84.1-FORGE   |DONE      |Manifest: NOSIGNATURE         collective-1.20.1-8.3.jar                         |Collective                    |collective                    |8.3                 |DONE      |Manifest: NOSIGNATURE         BetterThirdPerson-Forge-1.20-1.9.0.jar            |Better Third Person           |betterthirdperson             |1.9.0               |DONE      |Manifest: NOSIGNATURE         resourcefullib-forge-1.20.1-2.1.29.jar            |Resourceful Lib               |resourcefullib                |2.1.29              |DONE      |Manifest: NOSIGNATURE         eatinganimation-1.20.1-5.1.0.jar                  |Eating Animation              |eatinganimation               |5.1.0               |DONE      |Manifest: NOSIGNATURE         SpartanWeaponry-1.20.1-forge-3.1.3-all.jar        |Spartan Weaponry              |spartanweaponry               |3.1.3               |DONE      |Manifest: NOSIGNATURE         seasonhud-forge-1.20.1-1.13.2.jar                 |SeasonHUD                     |seasonhud                     |1.13.2              |DONE      |Manifest: NOSIGNATURE         deeperdarker-forge-1.20.1-1.3.3.jar               |Deeper and Darker             |deeperdarker                  |1.3.3               |DONE      |Manifest: NOSIGNATURE         architectury-9.2.14-forge.jar                     |Architectury                  |architectury                  |9.2.14              |DONE      |Manifest: NOSIGNATURE         BambooEverything-forge-3.0.3+mc1.20.1.jar         |Bamboo Everything             |bambooeverything              |3.0.3+mc1.20.1      |DONE      |Manifest: NOSIGNATURE         letsdo-API-forge-1.2.15-forge.jar                 |[Let's Do] API                |doapi                         |1.2.15              |DONE      |Manifest: NOSIGNATURE         jecalculation-forge-1.20.1-4.0.4.jar              |Just Enough Calculation       |jecalculation                 |4.0.4               |DONE      |Manifest: NOSIGNATURE         findme-3.2.1-forge.jar                            |FindMe                        |findme                        |3.2.1               |DONE      |Manifest: NOSIGNATURE         letsdo-brewery-forge-1.1.9.jar                    |[Let's Do] Brewery            |brewery                       |1.1.9               |DONE      |Manifest: NOSIGNATURE         letsdo-meadow-forge-1.3.24.jar                    |[Let's Do] Meadow             |meadow                        |1.3.24              |DONE      |Manifest: NOSIGNATURE         jei-1.20.1-forge-15.20.0.106.jar                  |Just Enough Items             |jei                           |15.20.0.106         |DONE      |Manifest: NOSIGNATURE         jamlib-forge-1.3.5+1.20.1.jar                     |JamLib                        |jamlib                        |1.3.5+1.20.1        |DONE      |Manifest: NOSIGNATURE         rightclickharvest-forge-4.5.3+1.20.1.jar          |Right Click Harvest           |rightclickharvest             |4.5.3+1.20.1        |DONE      |Manifest: NOSIGNATURE         fabric-loot-api-v2-1.2.1+eb28f93e77.jar           |Fabric Loot API (v2)          |fabric_loot_api_v2            |1.2.1+eb28f93e77    |DONE      |Manifest: NOSIGNATURE         ConnectorExtras-1.11.2+1.20.1.jar                 |Connector Extras              |connectorextras               |1.11.2+1.20.1       |DONE      |Manifest: NOSIGNATURE         umbral_skies-1.3.jar                              |Umbral Skies                  |umbral_skies                  |1.3                 |DONE      |Manifest: NOSIGNATURE         refurbished_furniture-forge-1.20.1-1.0.12.jar     |MrCrayfish's Furniture Mod: Re|refurbished_furniture         |1.0.12              |DONE      |Manifest: 0d:78:5f:44:c0:47:0c:8c:e2:63:a3:04:43:d4:12:7d:b0:7c:35:37:dc:40:b1:c1:98:ec:51:eb:3b:3c:45:99         fabric-networking-api-v1-1.3.11+503a202477.jar    |Fabric Networking API (v1)    |fabric_networking_api_v1      |1.3.11+503a202477   |DONE      |Manifest: NOSIGNATURE         fabric-lifecycle-events-v1-2.2.22+afab492177.jar  |Fabric Lifecycle Events (v1)  |fabric_lifecycle_events_v1    |2.2.22+afab492177   |DONE      |Manifest: NOSIGNATURE         TradingPost-v8.0.2-1.20.1-Forge.jar               |Trading Post                  |tradingpost                   |8.0.2               |DONE      |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a         villagesandpillages-forge-mc1.20.1-1.0.2.jar      |Villages & Pillages           |villagesandpillages           |1.0.2               |DONE      |Manifest: NOSIGNATURE         rhino-forge-2001.2.3-build.10.jar                 |Rhino                         |rhino                         |2001.2.3-build.10   |DONE      |Manifest: NOSIGNATURE         Festive_Delight_1.3_Forge_1.20.1.jar              |Festive Delight               |festive_delight               |1.3.0               |DONE      |Manifest: NOSIGNATURE         jmi-forge-1.20.1-0.14-48.jar                      |JourneyMap Integration        |jmi                           |1.20.1-0.14-48      |DONE      |Manifest: NOSIGNATURE         amendments-1.20-1.2.19.jar                        |Amendments                    |amendments                    |1.20-1.2.19         |DONE      |Manifest: NOSIGNATURE         blueflame-1.20.0-1.0.3.jar                        |Blue Flame Burning            |blueflame                     |1.20.0-1.0.3        |DONE      |Manifest: NOSIGNATURE         additionallanterns-1.1.1a-forge-mc1.20.jar        |Additional Lanterns           |additionallanterns            |1.1.1a              |DONE      |Manifest: NOSIGNATURE         Rainbows-1.20.1-1.5.jar                           |Rainbows                      |rainbows                      |1.5                 |DONE      |Manifest: NOSIGNATURE         waystones-forge-1.20.1-14.1.11.jar                |Waystones                     |waystones                     |14.1.11             |DONE      |Manifest: NOSIGNATURE         journeymap-1.20.1-5.10.3-forge.jar                |Journeymap                    |journeymap                    |5.10.3              |DONE      |Manifest: NOSIGNATURE         comforts-forge-6.4.0+1.20.1.jar                   |Comforts                      |comforts                      |6.4.0+1.20.1        |DONE      |Manifest: NOSIGNATURE         fabric-mining-level-api-v1-2.1.50+561530ec77.jar  |Fabric Mining Level API (v1)  |fabric_mining_level_api_v1    |2.1.50+561530ec77   |DONE      |Manifest: NOSIGNATURE         configured-forge-1.20.1-2.2.3.jar                 |Configured                    |configured                    |2.2.3               |DONE      |Manifest: 0d:78:5f:44:c0:47:0c:8c:e2:63:a3:04:43:d4:12:7d:b0:7c:35:37:dc:40:b1:c1:98:ec:51:eb:3b:3c:45:99         default_skill_trees-1.1.jar                       |Default Skill Trees           |default_skill_trees           |1.1                 |DONE      |Manifest: NOSIGNATURE         YungsBetterDesertTemples-1.20-Forge-3.0.3.jar     |YUNG's Better Desert Temples  |betterdeserttemples           |1.20-Forge-3.0.3    |DONE      |Manifest: NOSIGNATURE         mapperbase-1.20.1-6.0.0.0.jar                     |Mapper Base                   |mapperbase                    |1.20.1-6.0.0.0      |DONE      |Manifest: NOSIGNATURE         netherdepthsupgrade-3.1.5-1.20.jar                |Nether Depths Upgrade         |netherdepthsupgrade           |3.1.5-1.20          |DONE      |Manifest: NOSIGNATURE         blueprint-1.20.1-7.1.3.jar                        |Blueprint                     |blueprint                     |7.1.3               |DONE      |Manifest: NOSIGNATURE         savage_and_ravage-1.20.1-6.0.0.jar                |Savage & Ravage               |savage_and_ravage             |6.0.0               |DONE      |Manifest: NOSIGNATURE         clayworks-1.20.1-3.0.4.jar                        |Clayworks                     |clayworks                     |3.0.4               |DONE      |Manifest: NOSIGNATURE         personality-1.20.1-4.1.0.jar                      |Personality                   |personality                   |4.1.0               |DONE      |Manifest: NOSIGNATURE         autumnity-1.20.1-5.0.2.jar                        |Autumnity                     |autumnity                     |5.0.2               |DONE      |Manifest: NOSIGNATURE         environmental-1.20.1-4.0.1.jar                    |Environmental                 |environmental                 |4.0.1               |DONE      |Manifest: NOSIGNATURE         buzzier_bees-1.20.1-6.0.1.jar                     |Buzzier Bees                  |buzzier_bees                  |6.0.1               |DONE      |Manifest: NOSIGNATURE         CoffeeDelight-Forge-1.20.1-1.5.2.jar              |Coffee Delight                |coffee_delight                |1.6                 |DONE      |Manifest: NOSIGNATURE         moredelight-25.01.13-1.20-forge.jar               |More Delight                  |moredelight                   |25.01.13-1.20-forge |DONE      |Manifest: NOSIGNATURE         spartantwilight-1.20.1-3.1.0.jar                  |Spartan Weaponry: Twilight For|spartantwilight               |3.1.0               |DONE      |Manifest: NOSIGNATURE         ramadandelight-1.4.jar                            |Ramadan Delight               |ramadandelight                |1.4                 |DONE      |Manifest: NOSIGNATURE         libertyvillagers-2.0.0+forge+1.20.1.jar           |Liberty's Villagers           |libertyvillagers              |2.0.0+forge+1.20.1  |DONE      |Manifest: NOSIGNATURE         FasterLadderClimbing-1.20.1-0.2.10.jar            |Faster Ladder Climbing        |fasterladderclimbing          |0.2.10              |DONE      |Manifest: NOSIGNATURE         fabric-transitive-access-wideners-v1-4.3.1+1880499|Fabric Transitive Access Widen|fabric_transitive_access_widen|4.3.1+1880499877    |DONE      |Manifest: NOSIGNATURE         illagersweararmor-1.20.1-1.4.0.jar                |Illagers Wear Armor           |zillagersweararmor            |1.20.1-1.4.0        |DONE      |Manifest: NOSIGNATURE         client-1.20.1-20230612.114412-srg.jar             |Minecraft                     |minecraft                     |1.20.1              |DONE      |Manifest: a1:d4:5e:04:4f:d3:d6:e0:7b:37:97:cf:77:b0:de:ad:4a:47:ce:8c:96:49:5f:0a:cf:8c:ae:b2:6d:4b:8a:3f         dtkupd-1.4-forge-1.20.1.jar                       |DTKUpdate                     |dtkupd                        |1.4                 |DONE      |Manifest: NOSIGNATURE         cofh_core-1.20.1-11.0.2.56.jar                    |CoFH Core                     |cofh_core                     |11.0.2              |DONE      |Manifest: NOSIGNATURE         endergetic-1.20.1-5.0.1.jar                       |The Endergetic Expansion      |endergetic                    |5.0.1               |DONE      |Manifest: NOSIGNATURE         commonality-1.20.1-7.0.0.jar                      |Commonality                   |commonality                   |7.0.0               |DONE      |Manifest: NOSIGNATURE         FarmersStructures-1.0.3-1.20.jar                  |FarmersStructures             |farmers_structures            |1.0.0               |DONE      |Manifest: NOSIGNATURE         ls_spooky_paintings-2.1.1-forge-1.20.1.jar        |Spooky Paintings              |ls_spooky_paintings           |2.1.1               |DONE      |Manifest: NOSIGNATURE         DramaticDoors-QuiFabrge-1.20.1-3.3.1.jar          |Dramatic Doors                |dramaticdoors                 |1.20.1-3.3.1        |DONE      |Manifest: NOSIGNATURE         archers_paradox-1.20.1-5.0.0.17.jar               |Archer's Paradox              |archers_paradox               |5.0.0               |DONE      |Manifest: NOSIGNATURE         abnormals_delight-1.20.1-5.0.0.jar                |Abnormals Delight             |abnormals_delight             |5.0.0               |DONE      |Manifest: NOSIGNATURE         aquaculturedelight-1.1.1-forge-1.20.1.jar         |Aquaculture Delight           |aquaculturedelight            |1.1.1               |DONE      |Manifest: NOSIGNATURE         upgrade_aquatic-1.20.1-6.0.3.jar                  |Upgrade Aquatic               |upgrade_aquatic               |6.0.3               |DONE      |Manifest: NOSIGNATURE         aquamirae_delight-1.5.2-forge-1.20.1.jar          |Aquamirae Delight             |aquamirae_delight             |1.5.2               |DONE      |Manifest: NOSIGNATURE         undergardendelight-1.1.2-forge-1.20.1.jar         |Undergarden Delight           |undergardendelight            |1.1.2               |DONE      |Manifest: NOSIGNATURE         ensorcellation-1.20.1-5.0.2.24.jar                |Ensorcellation                |ensorcellation                |5.0.2               |DONE      |Manifest: NOSIGNATURE         alexscaves-2.0.2.jar                              |Alex's Caves                  |alexscaves                    |2.0.2               |DONE      |Manifest: NOSIGNATURE         pumpeddesertremake-2.0.0-forge-1.20.1.jar         |Pumped Desert Remake          |pumpeddesertremake            |2.0.0               |DONE      |Manifest: NOSIGNATURE         EnchantmentDescriptions-Forge-1.20.1-17.1.19.jar  |EnchantmentDescriptions       |enchdesc                      |17.1.19             |DONE      |Manifest: eb:c4:b1:67:8b:f9:0c:db:dc:4f:01:b1:8e:61:64:39:4c:10:85:0b:a6:c4:c7:48:f0:fa:95:f2:cb:08:3a:e5         radiantgear-forge-2.2.0+1.20.1.jar                |Radiant Gear                  |radiantgear                   |2.2.0+1.20.1        |DONE      |Manifest: NOSIGNATURE         moonlight-1.20-2.13.82-forge.jar                  |Moonlight Library             |moonlight                     |1.20-2.13.82        |DONE      |Manifest: NOSIGNATURE         ToolBelt-1.20.1-1.20.02.jar                       |Tool Belt                     |toolbelt                      |1.20.02             |DONE      |Manifest: NOSIGNATURE         farmers-cutting-oh-the-biomes-weve-gone-1.20.1-1.1|Farmer's Cutting: Oh The Biome|mr_farmers_cuttingohthebiomesw|1.20.1-1.1-forge    |DONE      |Manifest: NOSIGNATURE         mixinsquared-forge-0.1.1.jar                      |MixinSquared                  |mixinsquared                  |0.1.1               |DONE      |Manifest: NOSIGNATURE         Jade-1.20.1-Forge-11.13.1.jar                     |Jade                          |jade                          |11.13.1+forge       |DONE      |Manifest: NOSIGNATURE         snowyspirit-1.20-3.0.10.jar                       |Snowy Spirit                  |snowyspirit                   |1.20-3.0.10         |DONE      |Manifest: NOSIGNATURE         l2harvester-0.1.0.jar                             |L2Harvester                   |l2harvester                   |0.1.0               |DONE      |Manifest: NOSIGNATURE         displaydelight-1.2.0.jar                          |Display Delight               |displaydelight                |1.2.0               |DONE      |Manifest: NOSIGNATURE         nethersdelight-1.20.1-4.0.jar                     |Nether's Delight              |nethersdelight                |1.20.1-4.0          |DONE      |Manifest: NOSIGNATURE         lootintegrations_yungs-1.3.jar                    |lootintegrations_yungs mod    |lootintegrations_yungs        |1                   |DONE      |Manifest: NOSIGNATURE         ThisRocks-1.20.1-1.5.1.jar                        |This Rocks! (Forge)           |rocks                         |1.5.1               |DONE      |Manifest: NOSIGNATURE         BarteringStation-v8.0.0-1.20.1-Forge.jar          |Bartering Station             |barteringstation              |8.0.0               |DONE      |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a         Ribbits-1.20.1-Forge-3.0.4.jar                    |Ribbits                       |ribbits                       |1.20.1-Forge-3.0.4  |DONE      |Manifest: NOSIGNATURE         Iceberg-1.20.1-forge-1.1.25.jar                   |Iceberg                       |iceberg                       |1.1.25              |DONE      |Manifest: NOSIGNATURE         Quark-4.0-462.jar                                 |Quark                         |quark                         |4.0-462             |DONE      |Manifest: NOSIGNATURE         supplementaries-1.20-3.1.26.jar                   |Supplementaries               |supplementaries               |1.20-3.1.26         |DONE      |Manifest: NOSIGNATURE         Delightful-1.20.1-3.7.1.jar                       |Delightful                    |delightful                    |3.7.1               |DONE      |Manifest: NOSIGNATURE         suppsquared-1.20-1.1.21.jar                       |Supplementaries Squared       |suppsquared                   |1.20-1.1.21         |DONE      |Manifest: NOSIGNATURE         woodworks-1.20.1-3.0.2.jar                        |Woodworks                     |woodworks                     |3.0.2               |DONE      |Manifest: NOSIGNATURE         mutil-1.20.1-6.2.0.jar                            |mutil                         |mutil                         |6.2.0               |DONE      |Manifest: NOSIGNATURE         brutalbosses-1.20.1-8.0.jar                       |brutalbosses mod              |brutalbosses                  |1.20.1-8.0          |DONE      |Manifest: NOSIGNATURE         legendarycreatures-1.20.1-1.0.15.jar              |Legendary Creatures           |legendarycreatures            |1.20.1-1.0.15       |DONE      |Manifest: NOSIGNATURE         inventoryhud.forge.1.20.1-3.4.26.jar              |Inventory HUD+                |inventoryhud                  |3.4.26              |DONE      |Manifest: NOSIGNATURE         UniversalEnchants-v8.0.0-1.20.1-Forge.jar         |Universal Enchants            |universalenchants             |8.0.0               |DONE      |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a         BetterTridents-v8.0.1-1.20.1-Forge.jar            |Better Tridents               |bettertridents                |8.0.1               |DONE      |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a         alexsdelight-1.5.jar                              |Alex's Delight                |alexsdelight                  |1.5                 |DONE      |Manifest: NOSIGNATURE         yet_another_config_lib_v3-3.6.6+1.20.1-forge.jar  |YetAnotherConfigLib           |yet_another_config_lib_v3     |3.6.6+1.20.1-forge  |DONE      |Manifest: NOSIGNATURE         apexcore-1.20.1-10.0.0.jar                        |ApexCore                      |apexcore                      |10.0.0              |DONE      |Manifest: NOSIGNATURE         fantasyfurniture-1.20.1-9.0.0.jar                 |Fantasy's Furniture           |fantasyfurniture              |9.0.0               |DONE      |Manifest: NOSIGNATURE         CrabbersDelight-1.20.1-1.1.7e.jar                 |Crabber's Delight             |crabbersdelight               |1.1.7e              |DONE      |Manifest: NOSIGNATURE         emi-bridge-1.11.2+1.20.1.jar                      |Connector Extras EMI Bridge   |connectorextras_emi_bridge    |1.11.2+1.20.1       |DONE      |Manifest: NOSIGNATURE         healingcampfire-1.20.1-6.2.jar                    |Healing Campfire              |healingcampfire               |6.2                 |DONE      |Manifest: NOSIGNATURE         fabric-data-generation-api-v1-12.3.4+369cb3a477.ja|Fabric Data Generation API (v1|fabric_data_generation_api_v1 |12.3.4+369cb3a477   |DONE      |Manifest: NOSIGNATURE         fabric-events-interaction-v0-0.6.2+0d0bd5a777.jar |Fabric Events Interaction (v0)|fabric_events_interaction_v0  |0.6.2+0d0bd5a777    |DONE      |Manifest: NOSIGNATURE         PresenceFootsteps-1.20.1-1.9.1-beta.1.jar         |Presence Footsteps (Forge)    |presencefootsteps             |1.20.1-1.9.1-beta.1 |DONE      |Manifest: NOSIGNATURE     Crash Report UUID: d500aa9a-f821-445e-85be-a2b3186aa14e     FML: 47.4     Forge: net.minecraftforge:47.4.0     Kiwi Modules:          kiwi:block_components         kiwi:block_templates         kiwi:contributors         kiwi:data         kiwi:item_templates         snowrealmagic:core
    • When I tried to open the game, it crashed and these errors popped up. I checked for any duplicate mods and I couldn't find any. Mod list:  https://paste.pics/a7385d4ce369bc9fc96625d277401701 https://paste.pics/44d6f1749b8e2a84300e73e2717c6086 https://paste.pics/9b06c1f054bc099fccaef73a07489aba https://paste.pics/17be358309261b636fbc9dc9a3df3ffe https://paste.pics/b40d6dc1177081ef7befc53e215151f6 https://paste.pics/05777d08113b89bc6c20872bdd420305   Here's my latest.log: https://mclo.gs/svzfiMH      
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.