Giter VIP home page Giter VIP logo

daves-potioneering's Introduction

MultiLoader Template

This project provides a Gradle project template that can compile mods for both Forge and Fabric using a common sourceset. This project does not require any third party libraries or dependencies. If you have any questions or want to discuss the project join our Discord.

Getting Started

IntelliJ IDEA

This guide will show how to import the MultiLoader Template into IntelliJ IDEA. The setup process is roughly equivalent to setting up Forge and Fabric independently and should be very familiar to anyone who has worked with their MDKs.

  1. Clone or download this repository to your computer.
  2. Configure the project by editing the group, mod_name, mod_author, and mod_id properties in the gradle.properties file. You will also need to change the rootProject.name property in settings.gradle, this should match the folder name of your project, or else IDEA may complain.
  3. Open the template's root folder as a new project in IDEA. This is the folder that contains this README file and the gradlew executable.
  4. If your default JVM/JDK is not Java 17 you will encounter an error when opening the project. This error is fixed by going to File > Settings > Build, Execution, Deployment > Build Tools > Gradle > Gradle JVMand changing the value to a valid Java 17 JVM. You will also need to set the Project SDK to Java 17. This can be done by going to File > Project Structure > Project SDK. Once both have been set open the Gradle tab in IDEA and click the refresh button to reload the project.
  5. Open the Gradle tab in IDEA if it has not already been opened. Navigate to Your Project > Common > Tasks > vanilla gradle > decompile. Run this task to decompile Minecraft.
  6. Open the Gradle tab in IDEA if it has not already been opened. Navigate to Your Project > Forge > Tasks > forgegradle runs > genIntellijRuns. Run this task to set up run configurations for Forge.
  7. Open your Run/Debug Configurations. Under the Application category there should now be options to run Forge and Fabric projects. Select one of the client options and try to run it.
  8. Assuming you were able to run the game in step 7 your workspace should now be set up.

Eclipse

While it is possible to use this template in Eclipse it is not recommended. During the development of this template multiple critical bugs and quirks related to Eclipse were found at nearly every level of the required build tools. While we continue to work with these tools to report and resolve issues support for projects like these are not there yet. For now Eclipse is considered unsupported by this project. The development cycle for build tools is notoriously slow so there are no ETAs available.

Development Guide

When using this template the majority of your mod is developed in the Common project. The Common project is compiled against the vanilla game and is used to hold code that is shared between the different loader-specific versions of your mod. The Common project has no knowledge or access to ModLoader specific code, apis, or concepts. Code that requires something from a specific loader must be done through the project that is specific to that loader, such as the Forge or Fabric project.

Loader specific projects such as the Forge and Fabric project are used to load the Common project into the game. These projects also define code that is specific to that loader. Loader specific projects can access all of the code in the Common project. It is important to remember that the Common project can not access code from loader specific projects.

daves-potioneering's People

Contributors

tfarcenim avatar wintersteve25 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

daves-potioneering's Issues

[Forge 1.20.1] Bug in coated weapons?

I was testing the coated weapons, but it seems that it does not work on weapons from other mods, only on vanilla swords, is this intentional?

Captura de pantalla 2024-04-10 015731
Captura de pantalla 2024-04-10 015804

Forge: 1.20.1-47.2.0
Dave's Potioneering: 1.20.1-11

Item Group translation key missing

The Daves Potioneering Item Group name is showing up like "itemGroup.davespotioneering...." instead of a translated name.

using: Dave's Potioneering 0.12 - Fabric 1.19.2

[Issue] Problem loading mod?

Hi! I want to use this mod but I would like to configure its features for my modpack. The thing is... the mod is not appearing in ModMenu o_o And also, inside config folder, the file is empty. I'm using MC 1.19.2 with Fabric 0.14.13.

Im sending you the config and the log to see if you can tell what could be the possible error. Thank you! : )
davespotioneering.json5
latest.log

[Incompatibility] Not compatible with LevelZ

Game version: 1.18.2 fabric
Mod version: 1.0.9
Description(generated by mixin conflict helper):
LevelZ is conflicting with Dave's Potioneering.

Stacktrace

org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException: @At("INVOKE_ASSIGN") on net/minecraft/class_1812::finishUsingMixin with priority 1000 cannot inject into net/minecraft/class_1812::method_7861(Lnet/minecraft/class_1799;Lnet/minecraft/class_1937;Lnet/minecraft/class_1309;)Lnet/minecraft/class_1799; merged by tfar.davespotioneering.mixin.PotionItemMixin with priority 1000 [PREINJECT Applicator Phase -> levelz.mixins.json:item.PotionItemMixin from mod levelz -> Prepare Injections ->  -> localvar$znj000$finishUsingMixin(Ljava/util/List;Lnet/minecraft/class_1799;Lnet/minecraft/class_1937;Lnet/minecraft/class_1309;)Ljava/util/List; -> Prepare]
	at org.spongepowered.asm.mixin.injection.code.Injector.findTargetNodes(Injector.java:305)
	at org.spongepowered.asm.mixin.injection.code.Injector.find(Injector.java:240)
	at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.prepare(InjectionInfo.java:421)
	at org.spongepowered.asm.mixin.transformer.MixinTargetContext.prepareInjections(MixinTargetContext.java:1338)
	at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.prepareInjections(MixinApplicatorStandard.java:1043)
	at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:393)
	at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:325)
	at org.spongepowered.asm.mixin.transformer.TargetClassContext.apply(TargetClassContext.java:421)
	at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:403)
	at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363)
	at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234)
	at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202)
	at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:414)
	at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:323)
	at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218)
	at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:145)
	at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
	at net.minecraft.class_2378.method_10234(class_2378.java:192)
	at net.minecraft.class_2378.method_40280(class_2378.java:352)
	at net.minecraft.class_2378.method_34031(class_2378.java:300)
	at java.base/java.util.LinkedHashMap.forEach(Unknown Source)
	at net.minecraft.class_2378.<clinit>(class_2378.java:299)
	at net.minecraft.class_2966.method_12851(class_2966.java:49)
	at net.minecraft.client.main.Main.main(Main.java:153)
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:461)
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
	at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)

Mod list

- blue_endless_jankson 1.2.1 via jankson
- cloth-basic-math 0.6.0 via cloth-config
- cloth-client-events-v0 3.2.64 via davespotioneering
- cloth-config 6.2.57
- davespotioneering fabric-1.18.2-1.0.9
- fabric-api 0.67.1+1.18.2
- fabric-api-base 0.4.5+64b7c69360 via fabric-api
- fabric-api-lookup-api-v1 1.6.3+2373a54560 via fabric-api
- fabric-biome-api-v1 8.0.6+651bcc5960 via fabric-api
- fabric-block-api-v1 1.0.0+ee3621fc60 via fabric-api
- fabric-blockrenderlayer-v1 1.1.13+3ac43d9560 via fabric-api
- fabric-command-api-v1 1.1.10+d7c144a860 via fabric-api
- fabric-commands-v0 0.2.9+b4f4f6cd60 via fabric-api
- fabric-containers-v0 0.1.24+d7c144a860 via fabric-api
- fabric-content-registries-v0 3.1.2+c85f2e3860 via fabric-api
- fabric-convention-tags-v1 1.0.2+474e4f7960 via fabric-api
- fabric-crash-report-info-v1 0.2.1+ee261a3e60 via fabric-api
- fabric-data-generation-api-v1 3.0.3+9fcb91d260 via fabric-api
- fabric-dimensions-v1 2.1.21+489d6f8260 via fabric-api
- fabric-entity-events-v1 1.4.9+d7c144a860 via fabric-api
- fabric-events-interaction-v0 0.4.20+d7c144a860 via fabric-api
- fabric-events-lifecycle-v0 0.2.21+d7c144a860 via fabric-api
- fabric-game-rule-api-v1 1.0.13+d7c144a860 via fabric-api
- fabric-item-api-v1 1.6.1+a6f01b2660 via fabric-api
- fabric-item-groups-v0 0.3.15+91896a4960 via fabric-api
- fabric-key-binding-api-v1 1.0.12+54e5b2ec60 via fabric-api
- fabric-keybindings-v0 0.2.10+b4f4f6cd60 via fabric-api
- fabric-lifecycle-events-v1 2.1.1+cc71601c60 via fabric-api
- fabric-loot-api-v2 1.1.1+1997ad1260 via fabric-api
- fabric-loot-tables-v1 1.1.3+e747827960 via fabric-api
- fabric-mining-level-api-v1 2.1.5+cc71601c60 via fabric-api
- fabric-models-v0 0.3.7+d7c144a860 via fabric-api
- fabric-networking-api-v1 1.0.24+2d30af4b60 via fabric-api
- fabric-networking-v0 0.3.11+b4f4f6cd60 via fabric-api
- fabric-object-builder-api-v1 2.1.4+032c981d60 via fabric-api
- fabric-particles-v1 0.2.13+526dc1ac60 via fabric-api
- fabric-registry-sync-v0 0.9.12+bb2e047760 via fabric-api
- fabric-renderer-api-v1 0.4.16+ee3621fc60 via fabric-api
- fabric-renderer-indigo 0.5.6+41a02c8a60 via fabric-api
- fabric-renderer-registries-v1 3.2.12+b4f4f6cd60 via fabric-api
- fabric-rendering-data-attachment-v1 0.3.9+ee3621fc60 via fabric-api
- fabric-rendering-fluids-v1 2.0.3+54e5b2ec60 via fabric-api
- fabric-rendering-v0 1.1.14+b4f4f6cd60 via fabric-api
- fabric-rendering-v1 1.10.8+54e5b2ec60 via fabric-api
- fabric-resource-conditions-api-v1 2.0.3+91b7aa6660 via fabric-api
- fabric-resource-loader-v0 0.5.2+446e059560 via fabric-api
- fabric-screen-api-v1 1.0.11+d882b91560 via fabric-api
- fabric-screen-handler-api-v1 1.2.3+1f6558e860 via fabric-api
- fabric-textures-v0 1.0.13+3ac43d9560 via fabric-api
- fabric-transfer-api-v1 1.6.4+f4563ac860 via fabric-api
- fabric-transitive-access-wideners-v1 1.1.0+e747827960 via fabric-api
- fabricloader 0.14.10
- jankson 4.0.0+j1.2.0 via libgui
- java 19
- levelz 1.3.4
- libgui 5.3.0+1.18 via levelz
- libninepatch 1.1.0 via libgui
- minecraft 1.18.2
- mixin-conflict-helper 1.2.0

Game info

Minecraft Version: 1.18.2
Fabric Loader Version: 0.14.10

Message autogenerated using MixinConflictHelper

Log:
latest.txt

Items is invisible

All Umbrellas is invisible

Forge 43.2.7
minecraft 1.19.2
Dave's Potioneering 0.10 - Forge 1.19.2

Redistribution

Do modpack authors have the right to redistribute this mod as an override jar, i.e. in Modrinth modpacks? Alternatively, would you like to release on Modrinth or GitHub?

Additional context: Curseforge does not allow downloading mods from curseforge for modrinth modpacks. So when your mod is not available for download elsewhere, the only option is to redistribute the mod's .jar file inside the modpack and move the files to the mods directory. Manually moving files like this in a modpack is called overriding.

Incompatibility with FancyMenu and Optifine

After selectively disabling certain mods at a time, I found that the combination of the 2 mods (3 including libraries) below causes a crash, near the end of loading. I also tried adding OptiForge, in hopes that it would fix the crash, but it does not.
All mods are the latest version compatible with 1.16.5 as of this time.

Game Log

https://gist.github.com/JawboTau/288c145f334ede8d33b7c163555195d4

Mods

image

Basic Info

  • OS: Windows 10
  • Forge Version 36.3.34
  • Minecraft Version 1.16.5

Use fabric-api instead of fabric mod ID for Fabric API

Users may be confused when they see that it depends on fabric, not knowing that it's referring to Fabric API.

As of Minecraft 1.19.2, Fabric API's mod ID has changed from fabric to fabric-api. When backporting from 1.19.2 to earlier versions, you must alter the depends section of your fabric.mod.json to expect fabric.

From https://fabricmc.net/wiki/tutorial:setup#mod_setup. Fabric API still provides the fabric mod ID for compatibility, but it's good to use the new ID where possible.

Line to change:
https://github.com/Tfarcenim/Daves-Potioneering/blob/1.20.1-multiloader/fabric/src/main/resources/fabric.mod.json#L40

Requiem Enchantment Book crashes Game

Rendering the Humanity Enchantment Book Item from Requiem in your Inventory and Containers, crashes the game.
I wasn't sure if I should go here or to the Requiem Github, let me know if I should go over there instead. :)

Here's the Crash Log:
https://mclo.gs/oeOiztE

Incompatibility with Legendary Tooltips

Hello,

Dave's Potioneering seems to be nice, but unfortunately it seems to break an another basic mod (but that is so cool) Legendary Tooltips (Fabric).

I do not know why, but with Dave's Potioneering installed, the outlines of tooltips is just... black or totaly removed like the image below :
image

It's very strange because if I'm in the search tab in Creative mode the issue is done and everything works well :
image

Add geckolib dependency to fabric.mod.json

Some users download this mod from the Modrinth or CurseForge websites without checking for dependencies. Without GeckoLib, it results in a crash which users find difficult to understand. Putting the GeckoLib dependency in the FMJ results in the Fabric Loader mod resolver window which communicates the dependency outside of Modrinth and CurseForge.

Where to add this: https://github.com/Tfarcenim/Daves-Potioneering/blob/1.20.1-multiloader/fabric/src/main/resources/fabric.mod.json#L38

[Fabric 1.20.1] Shift-Clicking bottles into slots causes an entire stack to be inserted

As the title says, when shift-clicking bottles into slots for a brewing stand, either vanilla or modded ones, a whole stack will be inserted when it normally shouldn't. Because of this, if you continue to brew with the stacks in the slots they will be corrected after the brew is complete, causing you to permanently lose any extras, meaning 15 per slot in a stand. The compound stand doesn't lose them, but the limit seems to have been two potions per slot when adding them normally, so this likely isn't intended behavior.

A video demonstrating the issue:

8mb.video-amA-K76DoGWq.mp4

A crash with mod Corail's Tombstone

Hello,Tfarcenim!I found Daves-Potioneering will have a crash when it worked with Corail's Tombstone mod in 1.16.5!It made me have to choose one between them!But I dont want to do that!Will you try to compatible your mod with it?Its really important for me!Please reply to me no matter what you want to do!Thank you!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
20230119021557

1.20.1 - config includes both coat_anything and coat_all

In tfar.davespotioneering.ModConfig.Server, the 'coat_all' variable is assigned twice, first as:
coat_all = builder.define("coat_anything",false);
then as:
coat_all = builder.comment("Allows all items to be coated").define("coat_all",false);

This causes the configuration to have a "coat_anything" value that can be assigned but will be ignored and has no translation key. Meanwhile the "coat_all" value is what is used.

It appears that the first assignment referencing "coat_anything" should be removed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.