Pokecube-Development / Compat

Mod Compatibility for Pokecube, Outside of the Core Compat modules
MIT License
0 stars 0 forks source link

Cobblemon Moveset GUI Glitch & General Non-parity Issues #8

Open dreckz opened 10 months ago

dreckz commented 10 months ago

Problem Encountered:

The moves shown on the GUI when using Cobblemon Pokemon tends to be momentarily innaccurate until it finally uses an attack: (Ignore the Cobblemon gui behind Pokecubes')

^ This ALSO shows the misparity in levels tracked/calculated by Pokecube vs the percieved Cobblemon level

It never uses the ones seen before Attacking, which is always the ones shown in the pokecube watch, however sometimes after attacking, the Cobblemon moves will populate the list of moves on the GUI. Also noticed damaging the cobblemon pokemon outside of turnbased won't hurt its hp when it goes into turn-based (IMO is kinda good thing depending on playstyle/cheatiness)

"Plan B" Solution & Suggestion:

If you're not able make parity of movesets work properly between the two mods, I was trying to think on what can be done. I imagine this comes from movesets from both mods being read and maybe confused on which is the TRUE moveset to display on the GUI If possible, implement a config option for player to decide on Compatibility Parity, if cobblemon is installed

#Choose Compatibility Mode with Cobblemon, if it is installed: cobblemoncompat = [CLASSIC, COBBLE, HYBRID]

Here are the definitions of each:

In addition, there might be some really nice little QoL's to associate with these that may be additional controls:

Truly, Thank you for looking into this!

MC Version: 1.20.1 Forge: 47.2.6 Pokecube Compat: 1.0.5 Pokecube: 3.24.0.d Cobblemon: 1.4.0 Only Pokecube, Compat, and Cobblemon are the only mods on this test modpack

Side Note:

_Let me say, this is a truly pinnacle and pivotal point in all of the history of Pokemon in Minecraft history... the Convergence of RTS and TBS...

In the modpack I've been creating, I'm currently trying to implement a system that takes full advantage of the beautiful Mechanics, RTS Battle System, and Worldgen provided by pokecube, but replace pokecube mobs with the Cobblemon mobs in order to take full advantage of being able to turn based battle as well. I found the freedom to be able to CHOOSE if you want to RTS battle or TURN BASED battle to be such a PERFECT synergy of Pokemon in Minecraft. Getting the best of both worlds of mowing down zombies while taking a quick breather to approach a special pokemon i find more methodically with turn based.

I'm currently working around a lot of what Pokecube implements by disabling parts and keeping it to cobblemon to do all the pokemon spawning. Ideally, making the experience flush to a point to where the casual gamer can't tell the differernce between the two mods. I found this works wonderfullly and have been enjoying the ability to choose a quick battle or be more methodical.

This mod compat with Pokecube and Cobblemon is HUGE IMO and I think this is what's TRULY going to make pokecube explode alongside Cobblemon, as if it adds much more depth and capability alongside cobblemon. It's literally the best way to play pokemon while in an open world, and tbh i would NOT be surprised if we saw the actual franchise implement something similar XD_

Thutmose commented 10 months ago

Note that pokecube turn based can be done entirely with a server-side addon.

There are events for the following:

Preventing attack use (ie pause real time) Preventing status effect damage Listening for player attack orders Replacing AI tasks (This addon uses these events to add only the real-time AI for cobblemobs and not the rest of the AI)

These can be used to queue the attacks more appropriately.

The moves parity issue is fixed in the code so far, just not released to curseforge yet. I am looking into the issue where when yours faints it leaves a client side ghost behind. As for the levelling up part, I have not yet set it to sync exp back towards cobblemon, hence that not working atm.

dreckz commented 10 months ago

That's wonderful news about the addon possibility!

Also great to hear the move parity is fixed, excited for that update. 👍

As for the level parity issue, I wonder if there's a way to create an event that rewards both cobblemon and pokecube systems at the same time when either event occurs. Once that's made i think most issues I encountered are fixed.

At the moment, I'm making Pokecube kind of automatically choose attacks and hiding the GUI for a "light" pokemon pet system that doesn't add UI to the base version (obviously up to user configuration). I've not encountered the java issue so far with my configurations, so hopefully I can assist with bugfixes on some of these things

Thutmose commented 10 months ago

pokecube_compat-1.20.1-1.0.7.zip

See if this helps with the moves issue? Note that the jar is inside the zip, so extract it from the zip, it is zipped to allow upload into this comment

dreckz commented 10 months ago

Loaded with latest Forge, Pokecube, and Cobblemon only, I got this Crash Report: crash-2023-11-25_16.34.52-server.txt

Self-Diagnosis: The crash report indicates that there's an IllegalStateException occurring due to a duplicate capability key in the Minecraft server tick loop. Specifically, the error is related to the pokecube:genetics capability.

The error is triggered by the pokecube.mod_compat.cobblemon mod at line 103 in the Impl.onEntityCaps method. This method is trying to attach capabilities, and it seems there's an issue with duplicate capability keys.

Thutmose commented 10 months ago

Hmm, I will take a look at the dev environment, sounds like it was compiled vs the wrong version for testing, I probably need to refresh/reset the caches...

dreckz commented 10 months ago

@Thutmose I can test the new version if available :) I love this concept and I want to help and make sure I can assist in any way