Coder Social home page Coder Social logo

thaumcraft-5-api's People

Contributors

azanor avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

thaumcraft-5-api's Issues

Broken textures on custom seal. Looking in wrong domain?

I'm creating some custom control seals for golems and can place my seal in world but I haven't been able to get custom textures to work. Both the item ("item placer") and entity versions of the seal show missing/broken textures. I've double- and triple-checked that the files (PNG texture and JSON model file) are correctly in their respective places, but it appears that despite me specifying in the ResourceLocation to look in my mod's domain, the error messages indicate that Minecraft is looking in the "thaumcraft" folder.

The relevant part of the log is here. And this is probably the most relevant of that:

[20:22:07] [Client thread/ERROR] [FML]: Exception loading model for variant thaumcraft:seal_craft#inventory for item "thaumcraft:seal"
java.lang.Exception: Could not load model definition for variant thaumcraft:seal_craft#inventory
at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:215) ~[ModelLoader.class:?]

[omitting several lines]

Caused by: java.lang.RuntimeException: Encountered an exception when loading model definition of model thaumcraft:blockstates/seal_craft.json
at net.minecraft.client.resources.model.ModelBakery.getModelBlockDefinition(ModelBakery.java:165) ~[ModelBakery.class:?]
at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:211) ~[ModelLoader.class:?]
... 22 more
Caused by: java.io.FileNotFoundException: thaumcraft:blockstates/seal_craft.json
at net.minecraft.client.resources.FallbackResourceManager.getAllResources(FallbackResourceManager.java:93) ~[FallbackResourceManager.class:?]

(This error shows up in the log before reaching the main menu.)

As you can see, it is referring to the "thaumcraft" domain instead of my own, and of course isn't finding the JSON there because that's the wrong place. There were no references to my mod domain in the log elsewhere, either. All my textures for other items and blocks work fine.

I also noticed that the item placer itself has the domain thaumcraft as part of its ID but I had assumed that was normal due to the way the item was registered. All seals, including ones I registered, are called "thaumcraft:seal". However, now that I see this problem, maybe it is related.

My seal class includes this:

    public ResourceLocation icon;
    public String key;

    public SealCraft() {
        this.icon = new ResourceLocation("automagy", "items/seals/seal_craft");
        this.key = "Automagy:craft";
    }

    @Override
    public String getKey() {
        return key;
    }

    @Override
    public ResourceLocation getSealIcon() {
        return icon;
    }

The ResourceLocation I use is practically the same as the ones Thaumcraft itself uses for its seals except that the domain is for my mod, and the file is there, so I don't see how that could be the problem. Am I missing something?

Crystal Farmer research note

Thaumcraft 5.2.1: Crystal farmer research note has a problem (see pic). Vitreus is one block away from Vitium. No way to connect them together and no other connections to Vitreus.

[http://majestyc2k1.imgur.com/all/]

Wand Focus: Portable Hole vis cost is broken

Hey Azanor,

The W. Focus: Portable Hole cost is initially 25 Aer, Terra and Perditio. After the first cast, the cost goes up to 825 of each. After the second cast (if you can pay for the 825 cost) it goes up to 27225 of each vis.

In my private server, the hole will open on the first cast (and second cast) and work properly. It will even close as it should do. But on every single player game I started, the hole won't even open.
tc-bug3
tc-bug4

Client events for SyncResearch and ResearchComplete

Hello,

I'm adding Thaumcraft recipe integration to JEI Addons for Minecraft 1.8.
I want to hide recipes that are not researched, but it's difficult to efficiently determine when research has happened.

Can you fire a ResearchComplete event after PacketResearchComplete.processMessage and a ResearchSync event after PacketSyncResearch.onMessage?

[BUG?] Crucible - Catalyst doesn't show up in Research

My Catalyst for my Crucible Recipe doesn't show up in my ResearchPage
Screenshot
This is how I added the Recipe:

public static CrucibleRecipe magmatic_amber_recipe;
public static void createCrucibleRecepies() {
    magmatic_amber_recipe = ThaumcraftApi.addCrucibleRecipe(new String[] {"chemistry_research"}, new ItemStack(TCAddItems.charged_amber_item), TCAddItems.burned_amber_item, new AspectList().add(Aspect.FIRE, 5).add(Aspect.WATER, 5));
}

This is how i added the Research:

public class R_Chemistry extends ResearchItem {
    private static ResearchPage[] pages;
    private static ResourceLocation icon = new ResourceLocation("thaumcraftadd", "textures/researches/chemistry.png");
    private static AspectList aspects = new AspectList().add(Aspect.FIRE, 1).add(Aspect.WATER, 1).add(Aspect.EARTH, 1);

    public R_Chemistry() {
        super("chemistry_research", "thaumcraftadd", aspects, 12, 8, 1, icon);

        pages = new ResearchPage[] {
            new ResearchPage("You have discovered a way to create energy - that you still not understand - and put it inside an Amber crystal. That might become handy.\n"
                        +"Also this seems to be the only way to get Magmium-Essence - for now."),
            new ResearchPage(TCAddCrucibleRecepies.magmatic_amber_recipe)
        };

        setPages(pages);
        setRound();
        setParents("basic_research");
    }

}

I am not sure, if it's a bug or my stupidness. (and Sorry for my English)

EDIT: I maybe should add, that the crucible-recipe works, it just displays wrong in the thaumonomicon

Tainted nodes permanently changed my view on relaity.

So I ran through the Taiga on my horse during the Night, watched a tainted node spew stuff into the air and then THIS.

2015-11-02_20 51 49
2015-11-02_20 53 07

Reloading the world didn't fix it. Reloading the entire game did.

Off-topic. What thought exactly is the foundation of taint being irreversible?
I see more issues with that than logical reasons. May I be enlightened?

Suggestion: IRepairable or IRepairableExtended canApplyRepairEnchant method addition

I have an item which I would like to be able to have the Repair enchant, but it has nbt variants that I don't want to be able to have the Repair enchant. As far as I know your repair enchantment just checks for instanceof IRepairable for it's canApply method currently and that would change to something like:
instanceof IRepairable && canApplyRepairEnchant;

Wand Drain Event

I request having some form of event that will fire when you use a wand. This event probably should have an Enum that specifies its drain, such as Crafting, Casting, etc. This will allow addons to perform special behaviour based on the amount of vis that would be consumed, as well as have the ability to modify the cost or even prevent/cancel the event entirely.

Request: Better control over Provision Requests

This is related to a problem I reported here: Azanor/thaumcraft-5#512 . This suggestion may not be viable unless that problem is fixed (or maybe both birds can be killed with one stone).

The problem noted there is that provision requests from golem seals are inflexible, not ignoring things like metadata even if the seals are set to do so. When that's no longer a problem, it would be even better if we could somehow specify more dynamically in our custom seals whether an item was acceptable for provisioning. We could look at the item damage and do some basic logic, for example. Ideally, we'd be able to specify an item count, too, so we can regulate the number of a given item going to an inventory.

I need something like this because I want a seal to request an item from its filter and not simply completely ignore the item damage but actually take it into the consideration so the item is accepted usually but, if a certain toggle is set, the item is rejected if it is about to break. This is done to preserve the item much like the arcane bore does. (I can and do use this logic in canGolemPerformTask, but the Provide seal doesn't check that nor should it since that method checks against a golem, not an item stack.)

Perhaps the solution could involve letting us extend the ProvisionRequest class to make our own rules.

NBTTagCompound no longer has function GetTagByID

AspectHelp.java, line 93:
if (!ThaumcraftApiHelper.getNBTDataFromId(tc, tc.getTagId(nbt.name), nbt.name).equals(nbt.value)) continue f1;

should probably be changed to:
if (!tc.getTag(nbt.name).equals(nbt.value)) continue f1;

as NBTTagCompund no longer allows you to select tags by ID. Also, same issue on ScanEntity.java, line 42.

Add way to have ResearchItems that autocompletes once all parents are unlocked

Say we got ResearchItem("MYVIRTUALITEM", "MYCATEGORY").setParents("FOCUSPOUCH", "ELEMENTALTOOLS") and I want "MYVIRTUALITEM" to autounlock once both "FOCUSPOUCH" and "ELEMENTALTOOLS" are complete.
As far as I can tell this isn't possible at the moment. I tried .setAutoUnlock(), but that just unlocks it right away, regardless of parents. I tried adding nothing (in hopes that virtual ResearchItems get handled differently in that regard), but that did... nothing x). I tried getting both parent researches and adding "MYVIRTUALITEM" to their sibling list, which sort of worked. The problem there was that researching "FOCUSPOUCH" would directly finish "MYVIRTUALITEM", and presumably because finishing a research backchecks that all parents are unlocked, also finish "ELEMENTALTOOLS" and all its parents.
Bottom line: I'd like the last method to work as I intented it. Maybe add some functions to make setting up this kind unlocking easier.
If it still makes sense to contribute to this Api, what with TC II in the air, please tell me and I can see if I can figure out how to make a proper pull request :D

What happened to the the 4.x API repo?

๐Ÿ˜ญ We had it as a submodule for Growthcraft to avoid including the api physically.

If anything just lock issues on the repo and leave a note in a readme that a newer version is available, since this version is for Thaumcraft 5 (minecraft 1.8) and we're still on 1.7.

Focus equip / un-equip event

Can't find out when the player equips and un-equips a focus.
I may be missing how to do this so please let me know.

You have the code to only charge the want when it is in hand in the beginning of research.
Could you please forward that status to the ItemFocusBasic class in some sort of way?

onActive or onUpdate (...,isSelected=true)

I am trying to create 2 scenarios.

  1. Create a torch place focus for long distance like your builder wand. :)
  2. When focus is equipped and correctly upgraded, then generate a lighting effect.

Custom Infusion Enchantments

With TC4, I was able to create new infusion enchantments. Maybe I'm missing something, but I don't see a way to do that now. InfusionEnchantmentRecipe is marked as deprecated.

In case it matters, I'm trying to create a recipe that applies Lure and another for Luck of the Sea. Obviously, I'd need to be able to apply them to fishing rods.

AspectList can contain null element

Not sure if this intented or not, but it looks like AspectHelper.getObjectAspects() always returns a non-empty AspectList for non-null itemstacks.
However, when the item does not have any aspects registered to it, this list seems to be of length 1 with null as its first element.
I assume the intended behaviour of this is that the AspectList should have size 0?

Friggin totems(of attraction), how do they work?

What I am describing is most likely the intended behaviour,
but it seems kind of counterproductive to me.

  1. They don't always work even if vis is available around them, seems to be that they ignore low vis levels for safety reasons, which doesn't help at all when you are moving flux around.
  2. They burn shards even if there is apparently no vis for them to draw(Okay, that kind of makes sense, but a Thaumaturge would propably want to not have this happen)
  3. They have aspect orbs flying towards them even when they are not drawing any vis.

Flux management seemed like the only reasonable way to use them for me, but it seems that doesn't work at all.

If this is the wrong place to say this OKAY, but where else could I say this?

Also where should I put my reports on mistakes in the Thaumonomicon? Or is that not necessary, because that one will also be completely remade(in favor of a HQM-like system?)

Revisiting callback to ItemStack from Repair enchantment

I commented on the existing close issue that I brought up, but I figured responding to a closed issue can easily be overlooked, so I'm opening another one.
From what I can tell after some experimentation, the only requirement for an item to be able to get Repair enchanted on it is that it's an instanceof IRepairable. Returning false from doRepair, does prevent the item from actually repairing when it gets the enchant on it, but doesn't prevent it from being able to receive it in the first place. Some callback to the itemstack to determine if it can receive the enchant or not would be much appreciated.

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.