2008choco / alchema Goto Github PK
View Code? Open in Web Editor NEWSpigot plugin. In-world cauldron crafting, witchcraft and sorcery
Home Page: https://www.spigotmc.org/resources/alchema.87078/
License: GNU General Public License v3.0
Spigot plugin. In-world cauldron crafting, witchcraft and sorcery
Home Page: https://www.spigotmc.org/resources/alchema.87078/
License: GNU General Public License v3.0
A clear and concise description of what the bug is.
It seems that 1.17 cannot load the water level contained in Cauldron.
Steps to reproduce the bug:
If applicable, add screenshots and or upload a video to help demonstrate the bug.
java.lang.ClassCastException: class org.bukkit.craftbukkit.v1_17_R1.block.data.CraftBlockData cannot be cast to class org.bukkit.block.data.Levelled (org.bukkit.craftbukkit.v1_17_R1.block.data.CraftBlockData and org.bukkit.block.data.Levelled are in unnamed module of loader 'app')
at wtf.choco.alchema.cauldron.AlchemicalCauldron.canHeatUp(AlchemicalCauldron.java:288) ~[?:?]
at wtf.choco.alchema.cauldron.AlchemicalCauldron.update(AlchemicalCauldron.java:473) ~[?:?]
at wtf.choco.alchema.cauldron.CauldronUpdateHandler.run(CauldronUpdateHandler.java:85) ~[?:?]
at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftTask.run(CraftTask.java:81) ~[spigot-1.17.jar:3131-Spigot-66f9d3c-c9a92ad]
at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:400) ~[spigot-1.17.jar:3131-Spigot-66f9d3c-c9a92ad]
at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:1251) ~[spigot-1.17.jar:3131-Spigot-66f9d3c-c9a92ad]
at net.minecraft.server.dedicated.DedicatedServer.b(DedicatedServer.java:436) ~[spigot-1.17.jar:3131-Spigot-66f9d3c-c9a92ad]
at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:1199) ~[spigot-1.17.jar:3131-Spigot-66f9d3c-c9a92ad]
at net.minecraft.server.MinecraftServer.x(MinecraftServer.java:1026) ~[spigot-1.17.jar:3131-Spigot-66f9d3c-c9a92ad]
at net.minecraft.server.MinecraftServer.lambda$0(MinecraftServer.java:307) ~[spigot-1.17.jar:3131-Spigot-66f9d3c-c9a92ad]
at java.lang.Thread.run(Thread.java:831) [?:?]
Server software (Spigot): spigot
Server version (/version
): 1.17
Plugin version: latest
**List of other plugins:**No
Please add campfire and soul campfire support for making a alchema cauldron, it just makes more sense
The plugin causes some lag
Alchema::Task: wtf.choco.alchema.cauldron.CauldronUpdateTask (interval:1)
count(511) total(8.66% 16.95s, 66.34% of tick)
avg(33.17ms per - 33.17ms/1.00 per tick
Steps to reproduce the bug:
Server software (CraftBukkit/Spigot/Paper/etc.): Paper Spigot
Server version (/version
): 1.16.4
Plugin version: 1.0.1.0
List of other plugins: Plugins (163): ActionBarAPI, AdvancedBCRanks, AdvancedFood, AdvancedGUI*, AdvancedPortals, AdvanceParticle, Alchema, AlchemicalArrows, ArmorStandTools, ArtMap, BanManager*, BannerMaker, BeehivesPro, BetterBackpacks, BetterEggs, BetterEnd, BetterFarming, BKCommonLib, BlockParticles, BlocksHub, BlueMap, BookShelf, Boss, BuildersWand, ChatControlRed, ChestProtect, ChestTerminal, Chunky, Citizens, CitizensCMD, CitizensText, CMI, CMIPaperLib, Companions, ConsoleSpamFix, CoreArena, CoreProtect, CraftingStore, CrateReloaded, CS-CoreLib, CustomCrafting, CustomEnderChest, DefensiveTurrets, DeluxeTags*, Denizen, DiceFurniture, DiscordSRV, DisplayShops, dtlTradersPlus, DyedBackpacks, DynaTech, EcoEnchants, EcoPower, EditableSign, EffectLib*, Elevator, Emotes, EntityTrackerFixer, EpicWorldGenerator, ExoticGarden, ExploitFixer, ExtraHeads, ExtraTools, EZColors, F3NPerm, FastAsyncWorldEdit (WorldEdit), FeatherBoard*, FireWorkMaker, FluffyMachines, FlyingCarpet, FurnitureLib, Gaea, GCore, GlowAPI*, GPS, HamsterAPI*, HeadDatabase, HoloBroadcast, HolographicDisplays, HolographicExtension, HyperDrive, InfinityExpansion, InteractionVisualizer, InteractiveChat, InteractiveChatDiscordSRVAddon, LampControl, Lands, LandsDiscordBot, LibsDisguises, LightAPI, LightCleaner, LimitPillagers, Liquid, LiquidTanks, LiteXpansion, LuckPerms, MarketPlace, MCCore*, mcMMO, MiniaturePets, MMOHorses, MMOItems, MMOLib, MoneyHunters, MVdWPlaceholderAPI*, MythicMobs, NBTAPI, NBTEditor, NexEngine, Oh_the_dungeons_youll_go, OldCombatMechanics, PacketListenerApi*, PartyChatSpy*, PetMaster, PhantomX, PlaceholderAPI, Plan, PluginConstructorAPI, PremiumVanish, PrivateStorage, ProtectionLib*, ProtocolLib, PyroFishingPro, PyroMining, QuestCreator, RevoltCrates, RoseStacker, RPGChest, RPGHealthIndicator, RPGRegions, SafariNet, SFCalc, Shopkeepers, ShutdownNotice, SilenceMobs*, SimpleRTP*, Slimefun, SlimefunLuckyBlocks, SlimefunOreChunks, SlimyTreeTaps, SmartInvs*, Spartan, Stratos, Tamablefoxes, ThrowingWeapons, TradeMe, UltimateCatcher, UltraRegions, UpgradeableHoppers, UpgradeableSpawners, VarLight, Vault, VoidGenerator, Votifier, VotingPlugin, VoxelSniper, WG-Operations, WhatIsThis, WolfyUtilities, WorldBorder, WorldGuard, WorldGuardExtraFlags, WuufusWaygates
As far as I can tell the json recipe file cannot handle custom nbt data for the "item" tag. (Please correct me if I am wrong) My idea would be to include an "nbt" or "itemmeta" tag which allows for creation of items (such as potions) with custom nbt data. Specifically I would like to use "custompotioneffects" and "custompotioncolor" as listed here. Though, I believe that adding custom nbt support for all items could allow other users to create some interesting recipes such as custom soups with higher/lower saturation based on the ingredients used (something else I am very interested in doing).
Alternatively, I have been attempting to add this data using this format. Perhaps it would be better than a special nbt tag:
"item": { "id": "minecraft:potion", "custompotioneffects": { "id": 1, "amplifier": 2, "duration": 1200 }, "custompotioncolor": "#00bfff" }
Preferably I would like the option to add more than one potion effect so that these cauldron-brewed potions are weaker and also have a negative effect; hinting that the cheaper Alchema recipes are convenient but not as stable as brewing stand potions. Possible multi-effect implementation (unless this is already possible with one tag):
"item": { "id": "minecraft:potion", "custompotioneffects": { "id": 1, "amplifier": 2, "duration": 1200 }, "custompotioneffects": { "id": 2, "amplifier": 0, "duration": 1200 } "custompotioncolor": "#00bfff" }
Describe the new feature
While there are messages already available for translation, some are hardcoded into the plugin (eg. this one). Having all messages be translatable would greatly improve usability for different languages.
How will it work?
Either having a separate messages.yml
file or a config section would work just fine.
Does this require integration with another plugin?
No
A new item may be added to better integrate Alchema with the world and the entities that inhabit it. This item should not be craftable in a crafting table but rather obtainable from entities through the means of a cauldron.
These essence vials may be obtained through three means:
alchema:entity_essence
Empty vials are a new type of item craftable in a regular crafting table. See below:
As mentioned, vials of essence may be dropped into boiling cauldrons as an ingredient (alchema:entity_essence
). The vials will hold a variable amount of essence (from 0 - 1,000) and will fill the cauldron accordingly. When not used in a cauldron, vials of essence may also be consumed by players much like a potion or bottle of water. Depending on the type of essence, the consumption will have differing effects on the player - whether those effects be positive or negative will also depend on the type of essence in the vial.
These new vials of essence should be relatively configurable for server owners. All potential configuration options may look like the following:
VialOfEssence:
MaximumEssence: 1000
DroppedByEntities: true
EssenceFromEntityKill: 50
Item:
Empty:
Name: "&fEmpty Vial"
Lore:
- "Collects entity essence."
CustomModelData: 1
Filled:
Name: "&fVial of Essence &7(%entity%)"
Lore:
- "&7&oCauldron ingredient"
CustomModelData: 2
By default, Alchema will not provide authors with any custom textures. The colours of the potions should suffice for at least the sake of vanilla and distinguishing between the differing types of essence. However, textures should be supported through the use of a customizable CustomModelData
configuration option as seen in the Configuration section above.
Describe the new feature
Add ability to add custom item names and attach model data to the output items
How will it work?
add a "Name" and "CustomModelData" option to the Json files for the items
Does this require integration with another plugin?
I would really hope not :p
Describe the new feature
MMOItems integration to allow the creation/usage of MMOItems.
How will it work?
Like witchcraft! But seriously - similar to the 'mincraft:potato' or 'alchema:waffles' we could just have 'mmoitem:chickennuggies' or something. Issues may stem from MMOItems have both a name and a type, not sure how that would be handled.
Does this require integration with another plugin?
Yes - and unfortunately the resource is premium, however I am more than willing to provide a test environment. API information can be found here
I added this to our server as some people like to build and not have to grind all that much.
I figured I would share the json here for others to see/use (or perhaps you can use it in examples).
Cobblestone -> Gravel -> Sand while using Flint as the grinding/alchema ingredient to make it work:
Cobblestone into Gravel:
{
"result": {
"item": "minecraft:gravel",
"amount": 8
},
"ingredients": [
{
"type": "alchema:material",
"item": "minecraft:cobblestone",
"amount": 8
},
{
"type": "alchema:material",
"item": "minecraft:flint"
}
]
}
Gravel into Sand:
{
"result": {
"item": "minecraft:sand",
"amount": 8
},
"ingredients": [
{
"type": "alchema:material",
"item": "minecraft:gravel",
"amount": 8
},
{
"type": "alchema:material",
"item": "minecraft:flint"
}
]
}
Could you please update this plugin to the latest version of spigot? (1.17)
Describe the new feature
An option to execute a command on brew completion
How will it work?
This would be a config option just to execute a command on recipe completion. This would allow just about any plugin to be used as a Product in the brews provided that the right player can be targeted on brew completion.
Does this require integration with another plugin?
Nope :D
Describe the new feature
A GUI to view and take contents of cauldron
How will it work?
SHIFT+RIGHT-CLICK Cauldron to open a chest GUI where you can view all contents that are in the cauldron and even take out the items (alternate way to breaking cauldron)
Describe the new feature
I would like to see this add compatibility with the brewery plugin. Brewery is a custom potions brewing plugin that is somewhat popular in survival servers, allowing players to boil ingredients, distill potions, and age them in "barrels."
How will it work?
Recipes created with Alchema could also be used in Brewery as ingredients for potions and brews.
There may be a compatibility issue with flame sources under cauldrons, however brewery required interacting with the item while Alchema allows dropping the items in. Would need further testing or ability to require specific heat sources.
Does this require integration with another plugin?
Brewery
Github: https://github.com/DieReicheErethons/Brewery
Spigoot: https://www.spigotmc.org/resources/brewery.3082/
Version 1.0.1.0
It would seem that right clicking the cauldron with an ingredient causes the item to be destroyed by the heat source.
Can I suggest that either this accidental right click with an item will block the unintended action or allow the cauldron to accept the ingredients in this way?
Fun plugin BTW!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.