Parozzz / HopeItems

Spigot API - Create custom items with ease
https://www.spigotmc.org/resources/hopeitems-1-8-8-1-12-create-custom-items-with-eases.42422/
MIT License
1 stars 4 forks source link

List of Suggestions #2

Open PiggiesGoSqueal opened 6 years ago

PiggiesGoSqueal commented 6 years ago

As you probably know by now, I like organization and everything to be in one place. Thus I've created this.

I realize you're incredibly busy and will likely not have time to add these, so it's also for anyone who wants to fork the plugin if you allow that. Plus, if I ever want to update it (and you let me) once/if I learn java. But that'll be in roughly 1-3 years so can't really make any plans for that yet.

And yes, I know. My creativity can be a blessing or a curse. :P In other words, I'm able to provide a lot of suggestions. But it can be overwhelming because I suggest so many.


1.) [High Priority] A when called armorEquipped. This would do the action continuously as long as the armor is equipped. For example, a player has an iron chestplate called "Farmer Tunic" which feeds the player whenever their hunger reaches 6 food remaining.

2.) A when for holding an item. For example, holding a "Speed Sword" custom item would give the player the speed potion effect. Then the speed would be removed once the player is no longer holding the speed sword. NOTE: Not sure if this is already done. I think the example seed item does this actually..

3.) This suggestion is probably lowest priority, at least for me because you've provided such a great wiki. But it is still a suggestion. A GUI of some sort to create custom items. I personally would prefer something like BossShop's GUI setup because it's faster with scroll options etc. You can view that here: https://www.spigotmc.org/threads/bossshop-gui-configuration-setup-tool.150313/ but I also know you wanted to do an in-game GUI. Either way, it would likely reduce the amount of questions I, and other players, may ask you when creating items and getting errors.

4.) [Highest Priority] Allowing custom items/blocks to be included in crafting recipes for other custom items/blocks. For example, a "Lemon" custom item which could be added with a water bucket in a recipe to create "Lemonade". This is just a guess, but if each custom item were assigned a unique ID, you could use those IDs to add them to recipes. This would add a TON of possibilities. Possible with a plugin called CMI, using the command: /cmi CustomRecipe.

5.) [High Priority] A full drop system which supports mob/animal drops & drops from blocks. For example, a player wants to obtain a "Strawberry" so they go break long grass. Each long grass has a 1% chance to drop a Strawberry. In addition, it could be set per item whether the item can be dropped from only natural blocks or placed ones too and an option to allow drops from blocks created using bonemeal.

6.) This is a less important suggestion but also an easier one. A tab completer. So a player could easily switch through the items or player names for commands.

7.) Custom Crops. What I mean by this it would be possible to create a "Tomato" for example that can be planted and farmed. There are two ways to go about this. Both could be features, or just one. First, the Slimefun method where a player places a sapling named something like "Tomato Plant" then it eventually replaces the sapling with a leaf block. Then when the player right clicks the block, it turns back into a sapling and drops a Tomato custom item. The second way is to use the already existing seed types such as normal seeds renamed "Tomato Seeds". Then when they are planted, they eventually grow into wheat looking crops. But when broken, it drops a Tomato item and Tomato seeds instead of wheat and normal seeds.

8.) This was mentioned in an example for one of the above suggestions but not mentioned as an actual suggestion. So, a when for hunger and a when for health. For example, when a player reaches 3 health (1.5 hearts) then do this action . Or when a player reaches 6 hunger then do this action .

9.) [Medium Priority] A when for a redstone pulse. For example, when a redstone pulse/signal is detected next to the custom block, it will do the action.

10.) [Medium Priority] An action for a redstone pulse/signal. For example, when a custom block is broken, it will send out a redstone pulse out of the block to any touching redstone.

11.) More projectile features. For example, a player could create an "Iron Bow" which shoots arrows twice as far and fast. I've seen this done with the ArmorPlus plugin on Spigot but it's abandoned. If possible, the projectile features include:

12.) An action that will launch a player into the air. For example, when a player steps on a custom block named "Trampoline" it will launch the player x blocks into the air. In addition, there could also be an option whether the player should take fall damage or not when landing. Another example is a sword that will launch mobs into the air when hit.

13.) A way to organize the items created a bit. For example, in the items folder, I could create different folders that have items within them. So I could create a folder for food, then one for armor, etc.

14.) [High Priority] It'd be nice if /items reload would reload the custom item recipes. So it wasn't required to restart the server to update the recipes. (for 1.13+)

15.) A when timer of some sort. I'm not sure if there's a way to do this lag-free though. What I'm thinking is it would perform an action after x seconds. For example, a player could have a custom chest block which will: a.) clear the chest's contents every x seconds b.) Paying a player x amount for each block in the chest. For example, John322 places down a custom chest block called "AutoSell". Then opens it and puts 12 cactus, 3 stone, and 64 dirt in the chest. After 30 seconds, it will automatically clear the chest and pay John322 based off pre-determined payments in the item's file information. So, if one stone = $2, one dirt = $1, and one cactus = $0.50.. It would do:

The above example is a very specific example, yes. But there are plenty of other ways this could be used. For example, when a player puts a block into the chest, it will clear it then perform another action, such as sending out a redstone pulse (if that feature were added).

I realize this would be pretty difficult though so I know it likely won't be added.

16.) As stated for the example of 15, adding an action to clear a storage block's contents. Rather minor on it's own, but when combined with other features, it could create some useful stuff.

17.) A delay. Meaning it will wait X time before performing certain actions. This would be used within _when_s. For example, when armorEquipped occurs then it will wait 5 seconds then use the potion action to make the player invisible. Then it will wait another 30 seconds and use the removePotion action to make the player visible again.

18.) [High Priority] Custom potion recipes using brewing stands. What I mean by this are specific items players put into brewing stands that will give them a custom potion. This would have a ton of features such as giving saturation potions, etc. :)

19.) The ability to change the color of particles. MythicMobs has this ability for it's skills.

20.) More placeholders? Or whens. I'll give an example of what I want. I want a player to be able to look at another player, then right click a custom item and have it apply an action on the player they were looking at. Same for looking at mobs. Specifically, a magic staff that will poison whomever the player is looking at and heal the one holding the staff. They must be in the line of sight for it to work (which would be a condition probably)

21.) An action that will shoot a projectile from the player. For example, a player right clicks a staff named "Staff of Firepower" and it will shoot an arrow where the player is looking. (Note: This arrow can not be picked up). An additional option for the projectile to be on fire, a special arrow tip, etc would be nice as well.

22.) This is a much more difficult request and I'm not sure if there's an easy way (for people using the plugin) to use this plus I'm not sure if it would cause lag. If it would cause lag, don't add it. Anyways, custom textures for items. It can be done using a texture pack for the server that is only used for custom items. VanillaAdditions and AdditionsAPI do this but it requires the user to know how to program. NewItems also does this but I've heard the plugin causes lots of lag.

23.) Adding or removing an item from the player's inventory. Could also have a condition to check whether the item is in the player's inventory. An example of how this could be used is creating an "Enderpearl Gun" which has x number of enderpearls in it. The player can throw an enderpearl by right clicking it and reload by left clicking it. Reloading would remove enderpearls from the player's inventory and add it to the Ammo of the gun. I realize there are multiple features that would need to be added to make this example work.

24.) Being able to remove hunger/health from the user's current amount. For example, if a player has 20 health, the action could be to remove 4 hearts. Would allow for things like: A sword that gives the enemy poison when attacking them but removes hunger from the person equipping the sword as a cost for using that ability.

25.) A command that supports placeholders and can spawn a custom block at specified coordinates. Also supports math for the coordinates to allow better positioning. For example, {x}+2 or {x} * 10. Perhaps modulus (%) and integer division (//) but idk if that'd be beneficial. Would be useful for adding to actions of custom items & blocks. For example, A block which feeds a player whenever they walk upon it and has a 5% chance to spawn a custom TNT block which blows up to prevent AFK farms.

26.) Not sure if this is already a feature I couldn't find it. Adding a chance to perform an action. Example: A block which feeds a player whenever they walk upon it and it has a 5% chance to perform the command: /kill {player}

27.) A counter. This would count every time the when is met. Then once the counter reaches a certain number then it will perform an action and reset the counter. For example, you could have an exp Block which gives a player exp when they stand upon it. It has a 30 second cooldown. Then when they've gotten exp 20 times, it will give them a harming potion to prevent them from AFKing. Then will reset the counter.

28.) Conditions per action, rather than per when. For example, there's an Exp Block. When a player steps on the block, they get exp (there are no conditions). Then there's a 30 second cooldown. Once they reach level 30 (condition), it adds a harming potion effect (action) to them to prevent them from AFKing.

29.) A when for air. For example, when a player has 10 air bubbles (underwater), do this action: ___

29.) A way to make an item 1 time use. So it'll disappear after the when is met. Also, if the player is holding the custom item in their off hand, make sure it deletes the right item.

30.) An action that if the player is hit (whether it be projectile or sword, these are 2 separate actions), a force can be added can be added in a certain direction like up, down, west, north, east, etc. Or maybe a knockback explosion. Something like that. - Suggested by TheAstroTuber

31.) An action that would perform a specific command at the location where a projectile lands. For example, if a player shoots an arrow, it lands at a certain position. At that position a command would play like "/kill @a[r=50]" which would kill all players in a radius of 50 blocks to where the projectile landed. In a nutshell, it can play a command relative to the projectile's landing position. - Suggested by TheAstroTuber

32.) [High Priority] Add a way to allow optional custom textures for items & blocks. For example, a custom item could look like a normal stone sword OR the custom texture option could be enabled and it could look like a sword made of obsidian. Note: Be sure custom items with custom textures have a durability bar displayed. Note: Normal items should not have the custom texture. For example, if there's an "Obsidian Sword" which uses a diamond_sword but looks like a sword made of obsidian, then normal diamond swords should look like normal diamond sword textures. This custom item plugin supports such a feature. If needed, you can view their source code here.