"Made improvements to the JInput module, MOUSE3 and MOUSE4 now properly supported"
And here was me thinking that cursed issue revolving around those buttons that removed focus off minecraft like alt tabbing... is that issue fixed with 1.3?
Also I'm puzzled as to how to use the macro buttons.. l made some in the button editor.. what then.. how do you see them... I thought there might be some key you hold down, that gives you your mouse cursor and the buttons show up. I'm missing something???
To see the buttons, pres macro activate, or hold macro override
And for your later question which i couldn't multiquote because it was on another page.., to hold down and press multiple buttons, that's what macro override is for
Activate is like a toggle, press it, menu opens, press anything else, menu closes
Override, however, keeps the "menu" open for as long as you hold it, so you can spam your otherwise bound macro keys, or buttons, as much as you want
If you don't want to hold down a key, perhaps "Press(<macro activate key>) at the beginning of every script would keep reopening it, then those buttons won't close the menu?
haven't tested that yet though
I'm wondering if you will stick in more options, like being able to hold down the GRAVES key.. so that you can keep clicking a button, (maybe a button specific option) so particular defined buttons can be clicked over and over without the buttons display disappearing.
I do have plans but I'm going to wait and see what people's opinions are, as with any other feature in the mod I will always be making refinements and improvements.
Feature Req:.. something like dynamic buttons.. ones where the name field can be made up of a mini script that changes the buttons name, and what command function it does based on whatever. Like one that gets a players look direction, so setup dynamic buttons would compass names like North ,East,West,South accordingly, and the defined button commands would work accordingly aswel..
There will be script functions for interacting with controls, but these will be invoked from other scripts rather than events on the buttons themselves, but of course there won't be anything stopping you running a "daemon" script whose job it is to manage the buttons.
I suspect it still doesn't work the way you hope, some of the wish list features didn't make it into 0.9 because of time constraints, rest assured that everything on the wish list remains on the wish list, so I will try to implement it. If I can squeeze this one in for the full release of 0.9 then I will.
Thanks, I realise it may be a bit odd to get to grips with but I've been quietly giggling to myself while testing it out, I might post the source code for this one class just so people can see how ridiculously complex this simple function actually is.
I suspect it still doesn't work the way you hope, some of the wish list features didn't make it into 0.9 because of time constraints, rest assured that everything on the wish list remains on the wish list, so I will try to implement it. If I can squeeze this one in for the full release of 0.9 then I will.
Not quite, no. The prefered way, if possible, is the direct durability of the armours that are on, like ItemDurubility the DURABILITY variable*. No worries though, this is enough to warn a player when armour starts breaking (a big deal on a PvP server), and thats a good enough step forward for me to get it working.
Not quite, no. The prefered way, if possible, is the direct durability of the armours that are on, like ItemDurubility the DURABILITY variable*. No worries though, this is enough to warn a player when armour starts breaking (a big deal on a PvP server), and thats a good enough step forward for me to get it working.
I can add variables for armour items no problem, I'll put it in the final release.
On the same script in onchat, the new version seems to crash me
I thought this started happening before the update, but i guess not
For example;
$${IFMATCHES(%CHAT%,>>gm ([10]),&number,1);Echo(/gamemode %CHATPLAYER% %&number%);ENDIF}$$
With the stable version, it tries to change the gamemode of a %CHATPLAYER%
that obivously does nothing, but it shows the IFMATCHES working without a crash, as well as the Echo
However, the new version runs the command but crashes just after
Mods loaded: 7
ModLoader 1.2.5
mod_Macros 0.9 beta 1
mod_ModLoaderMp 1.2.5v1
mod_MAtmos_forModLoader r12 for 1.1.x
mod_LittleBlocks 1.13
mod_TooManyItems 1.2.5 2012-04-13
mod_WorldEditCUI 1.2.5 for Minecraft version 1.2.5
Minecraft has crashed!
----------------------
Minecraft has stopped running because it encountered a problem.
--- BEGIN ERROR REPORT d7987448 --------
Generated 31.07.12 15:26
Minecraft: Minecraft 1.2.5
OS: Windows 7 (x86) version 6.1
Java: 1.6.0_32, Sun Microsystems Inc.
VM: Java HotSpot™ Client VM (mixed mode), Sun Microsystems Inc.
LWJGL: 2.4.2
OpenGL: GeForce 8800 GT/PCIe/SSE2 version 3.3.0, NVIDIA Corporation
java.lang.NullPointerException
at java.util.regex.Matcher.quoteReplacement(Unknown Source)
at net.eq2online.macros.scripting.StringVariableHolder.SetVariable(StringVariableHolder.java:80)
at net.eq2online.macros.event.providers.OnChatProvider.ProvideVariables(OnChatProvider.java:83)
at net.eq2online.macros.core.Macro.ProvideVariables(Macro.java:760)
at net.eq2online.macros.scripting.ScriptActionProvider.ProvideVariables(ScriptActionProvider.java:220)
at net.eq2online.macros.scripting.ScriptActionProvider.ProvideVariables(ScriptActionProvider.java:241)
at net.eq2online.macros.scripting.StringVariableHolder.Refresh(StringVariableHolder.java:56)
at net.eq2online.macros.scripting.StringVariableHolder.<init>(StringVariableHolder.java:45)
at net.eq2online.macros.scripting.ScriptAction.ParseVars(ScriptAction.java:403)
at net.eq2online.macros.scripting.actions.lang.ScriptActionIfMatches.ExecuteConditional(ScriptActionIfMatches.java:26)
at net.eq2online.macros.core.MacroAction.Execute(MacroAction.java:194)
at net.eq2online.macros.core.MacroActionProcessor.Execute(MacroActionProcessor.java:145)
at net.eq2online.macros.core.Macro.PlayMacro(Macro.java:646)
at net.eq2online.macros.core.Macros.PlayMacro(Macros.java:1251)
at net.eq2online.macros.core.Macros.PlayMacro(Macros.java:1213)
at net.eq2online.macros.event.MacroEventManager.DispatchEvent(MacroEventManager.java:186)
at net.eq2online.macros.event.MacroEventManager.OnTick(MacroEventManager.java:140)
at net.eq2online.macros.core.Macros.OnTick(Macros.java:1329)
at net.eq2online.macros.core.MacroModCore.OnTickInGame(MacroModCore.java:997)
at mod_Macros.onTickInGame(mod_Macros.java:75)
at ModLoader.onTick(ModLoader.java:1102)
at EntityRendererProxy.b(EntityRendererProxy.java:22)
at net.minecraft.client.Minecraft.x(SourceFile:752)
at net.minecraft.client.Minecraft.run(SourceFile:671)
at java.lang.Thread.run(Unknown Source)
--- END ERROR REPORT b90effe6 ----------
I doubt it's a conflict because i've had no problems with the same mods earlier,
there's no chat related mods,
and magiclauncher saw no problems
On the same script in onchat, the new version seems to crash me
I thought this started happening before the update, but i guess not
For example;
$${IFMATCHES(%CHAT%,>>gm ([10]),&number,1);Echo(/gamemode %CHATPLAYER% %&number%);ENDIF}$$
With the stable version, it tries to change the gamemode of a %CHATPLAYER%
that obivously does nothing, but it shows the IFMATCHES working without a crash, as well as the Echo
However, the new version runs the command but crashes just after
Mods loaded: 7
ModLoader 1.2.5
mod_Macros 0.9 beta 1
mod_ModLoaderMp 1.2.5v1
mod_MAtmos_forModLoader r12 for 1.1.x
mod_LittleBlocks 1.13
mod_TooManyItems 1.2.5 2012-04-13
mod_WorldEditCUI 1.2.5 for Minecraft version 1.2.5
Minecraft has crashed!
----------------------
Minecraft has stopped running because it encountered a problem.
--- BEGIN ERROR REPORT d7987448 --------
Generated 31.07.12 15:26
Minecraft: Minecraft 1.2.5
OS: Windows 7 (x86) version 6.1
Java: 1.6.0_32, Sun Microsystems Inc.
VM: Java HotSpot™ Client VM (mixed mode), Sun Microsystems Inc.
LWJGL: 2.4.2
OpenGL: GeForce 8800 GT/PCIe/SSE2 version 3.3.0, NVIDIA Corporation
java.lang.NullPointerException
at java.util.regex.Matcher.quoteReplacement(Unknown Source)
at net.eq2online.macros.scripting.StringVariableHolder.SetVariable(StringVariableHolder.java:80)
at net.eq2online.macros.event.providers.OnChatProvider.ProvideVariables(OnChatProvider.java:83)
at net.eq2online.macros.core.Macro.ProvideVariables(Macro.java:760)
at net.eq2online.macros.scripting.ScriptActionProvider.ProvideVariables(ScriptActionProvider.java:220)
at net.eq2online.macros.scripting.ScriptActionProvider.ProvideVariables(ScriptActionProvider.java:241)
at net.eq2online.macros.scripting.StringVariableHolder.Refresh(StringVariableHolder.java:56)
at net.eq2online.macros.scripting.StringVariableHolder.<init>(StringVariableHolder.java:45)
at net.eq2online.macros.scripting.ScriptAction.ParseVars(ScriptAction.java:403)
at net.eq2online.macros.scripting.actions.lang.ScriptActionIfMatches.ExecuteConditional(ScriptActionIfMatches.java:26)
at net.eq2online.macros.core.MacroAction.Execute(MacroAction.java:194)
at net.eq2online.macros.core.MacroActionProcessor.Execute(MacroActionProcessor.java:145)
at net.eq2online.macros.core.Macro.PlayMacro(Macro.java:646)
at net.eq2online.macros.core.Macros.PlayMacro(Macros.java:1251)
at net.eq2online.macros.core.Macros.PlayMacro(Macros.java:1213)
at net.eq2online.macros.event.MacroEventManager.DispatchEvent(MacroEventManager.java:186)
at net.eq2online.macros.event.MacroEventManager.OnTick(MacroEventManager.java:140)
at net.eq2online.macros.core.Macros.OnTick(Macros.java:1329)
at net.eq2online.macros.core.MacroModCore.OnTickInGame(MacroModCore.java:997)
at mod_Macros.onTickInGame(mod_Macros.java:75)
at ModLoader.onTick(ModLoader.java:1102)
at EntityRendererProxy.b(EntityRendererProxy.java:22)
at net.minecraft.client.Minecraft.x(SourceFile:752)
at net.minecraft.client.Minecraft.run(SourceFile:671)
at java.lang.Thread.run(Unknown Source)
--- END ERROR REPORT b90effe6 ----------
I doubt it's a conflict because i've had no problems with the same mods earlier,
there's no chat related mods,
and magiclauncher saw no problems
Thanks for the comprehensive report. I've already found and fixed this one. The "guess" algorithm is supposed to return a null value to indicate a guess wasn't made (the algorithm couldn't identify the player name in the message) and does so correctly, however this null value was still getting passed through to the context provider for onChat and resulted in the NPE you've identified.
This is exactly what beta testing is for so it's good to find stuff like this
Thanks for the comprehensive report. I've already found and fixed this one. The "guess" algorithm is supposed to return a null value to indicate a guess wasn't made (the algorithm couldn't identify the player name in the message) and does so correctly, however this null value was still getting passed through to the context provider for onChat and resulted in the NPE you've identified.
This is exactly what beta testing is for so it's good to find stuff like this
oh, that's good..., i can just revert to my trusty chatreader and it should work fine then
Edit, apparently not, i thought this was only getting triggered when i use one of those global variables, but i was wrong
Oh well, i guess it can wait >=), onwards to buttons
TP buttons, gamemode buttons, math buttons, yay i can make every useless thing i'll rarely need without spending valuable keyboard space or memorizing where they are \o/
Not quite, no. The prefered way, if possible, is the direct durability of the armours that are on, like ItemDurubility the DURABILITY variable*. No worries though, this is enough to warn a player when armour starts breaking (a big deal on a PvP server), and thats a good enough step forward for me to get it working.
Ok I've added the following to VariableProviderPlayer, so will be available in 0.9 full release:
The reason for providing the ID as well is you can then tell what type of armour you're wearing in each slot. Vars return zero if nothing in that slot.
Using math, it goes from right to left, which isn't very intuitive
2+2*2*2=10, which is okay
2*2+2*2=12, which should be 8
2*2*2+2=16, which should be 10
5*5*5+2=175
-------------------------------------
"Don't remember parameters" is disabled for buttons
The maths thing I will sort in due course but I was quite pleased to get it working at all, parentheticals are honoured so complex expressions can still be created.
"Don't remember parameters" is disabled for buttons because at the moment buttons still dispatch macros asynchronously (sort of) so can't take parameters (yet).
"Don't remember parameters" is disabled for buttons because at the moment buttons still dispatch macros asynchronously (sort of) so can't take parameters (yet).
Can't take parameters?, then what is *this* doing?
One thing that I wish for is that craft you can craft multiple items. I tried to craft all armor and only crafted the last item in the list. Also is their a easy way to close the gui you are in?
So basically it crafts all diamond armor and closes the workbench gui.
Their probably a way to do this with a script
Mart...
I tested that just too see. It doesn't work.
It does work for me, i swear,...
are you saying the same script on a button doesn't work for you o.O?
that's..., kinda..., interesting
Also. "5x5x5+2" does not equal 175, it equals 127. However, 5x5(5+2) does equal 175. Maybe the order of operations is messed up ;D
yeah, i know, i pointed that out in an earlier post..., you can read it mumfrey's reply on the last page
it just does the calculations one after the other, but from right to left
i tested it to make sure, that's exactly what it is
apparently parentheses can be used, apparently
Also,
If for example I put
$${
ifmatches(%CHAT%,(.+?)§(.+) ;
match(%CHAT%,(.+?)§(.+):,&one,1);
match(%CHAT%,(.+?)§(.+):,&two,2);
echo(%&one% v %&two%);endif
}$$
And then typed "LOL&1&2OMG:"
I would then echo "LOL?1 v OMG"
When it should echo "LOL v ?2OMG"
This annoys me. Can you fix ?
That's not a bug, it's your regex that's wrong
The (.+) tries matching everything, and then keeps trying shorter and shorter matches from there
so as soon as it backs up to the last color code, it will match
What you want to do is make it lazy, so it starts out matching only one, and then keeps matching more and more
this way it will only match to the nearest... (first) color code, instead of the last
the questionmarks i added to your code should do the trick
Also, you may want to check out regular-expressions.info
One thing that I wish for is that craft you can craft multiple items. I tried to craft all armor and only crafted the last item in the list. Also is their a easy way to close the gui you are in?
So basically it crafts all diamond armor and closes the workbench gui.
Their probably a way to do this with a script
You probably just need separate craft commands one after the other
Can't take parameters?, then what is *this* doing?
Sorry, I've been continuing to work on stuff since releasing the beta so it's getting a bit confusing and buttons no longer accept parameters now only parse parameters if they are set to close the GUI when clicked (the default behaviour). I've enabled the inhibit params option for buttons now to support this.
Mart...
I tested that just too see. It doesn't work.
Also. "5x5x5+2" does not equal 175, it equals 127. However, 5x5(5+2) does equal 175. Maybe the order of operations is messed up ;D
Yes the order of operation is messed up, I know this. I recommend sticking to simple arithmetic or just using parentheses for now, which at the end of the day is still a billion times easier than using INC and DEC for everything, plus easier to read.
$${ifmatches(%CHAT%,(.+)§(.+):);
match(%CHAT%,(.+)§(.+):,&one,1);
match(%CHAT%,(.+)§(.+):,&two,2);
echo(%&one% v %&two%);endif}$$
And then typed "LOL&1&2OMG:"
I would then echo "LOL?1 v OMG"
When it should echo "LOL v ?2OMG"
This annoys me. Can you fix ?
Beware greedy matches, also beware ungreedy matches where you may have multiple delimiters, for example if you make both matches ungreedy. A useful construct is a negated character class with your boundary character in it, so for example to match all characters up to a colour code you could use ([^\xa7]+)\xa7 which is greedy but still safe and won't ever eat a colour code. In simple cases this is functionally equivalent to (.+)\xa7 but changes functionally depending on the pattern after the delimiter, especially if the pattern afterward is anchored but ungreedy.
One thing that I wish for is that craft you can craft multiple items. I tried to craft all armor and only crafted the last item in the list. Also is their a easy way to close the gui you are in?
So basically it crafts all diamond armor and closes the workbench gui.
Their probably a way to do this with a script
I've now added an onAutoCraftingComplete event to deal with this. The problems you're experiencing are because calls to CRAFT are not blocking, they queue the craft asynchronously and process it separately to the script's execution. A call to CRAFT is ignored if a craft is already in progress but if a craft is queued but not started it will just queue the later one instead, hence why it appeared to just craft the last thing you requested.
With the event you'll now be able to implement a callback-driven automatic crafting process.
Also you can close the current GUI screen by just calling GUI() with no parameters.
I might post the source code for this one class just so people can see how ridiculously complex this simple function actually is.
In case anyone is actually interested, here's the source code for the current incarnation of the automatic crafting functionality: AutoCraftingManager.java
So, until modloader updates I can't really release a proper version of this so here's another beta with compatibility for 1.3.1.
Please read the installation instructions carefully, I take no responsibility for horrible creatures breaking through from the Dungeon Dimensions if you fail to follow these directions!
Installation instructions for 0.9 public beta 2
This version does not use Risugami's ModLoader because it is not yet available, instead it uses a custom bootstrapper designed to emulate modloader for the time being. The custom bootstrapper will not load other mods, only the public beta:
Delete the META-INF folder inside the Minecraft jar
Download the mod zip file and put it in the "mods" folder, create the folder if it does not already exist
Ensure that no pre-1.3.1 mods remain in your "mods" folder!
Note that this bootstrapper will not be compatible with ModLoader when released, so it will be necessary to remove it and install Modloader instead, if you are not prepared refresh your jar do not download this beta!
Download links
Change log for this version
Fixed a null pointer exception with the onChat event variable provider
Made "edit" button always visible on the buttons binding screen
Fixed an NPE when moving buttons in a macro edit mode
Fixed some small bugs with auto-crafting
Added a status display for auto-crafting
Added onArmourDurabilityChange event
Added variables for worn armour ID and durability: BOOTSID, BOOTSDURABILITY, LEGGINGSID, LEGGINGSDURABILITY, CHESTPLATEID, CHESTPLATEDURABILITY, HELMID, HELMDURABILITY
Added onAutoCraftingComplete event
Added "don't close gui" option to buttons
Buttons which don't close the GUI no longer accept parameters
OnPlayerJoin
/tell Welcome to %@&servername%, %JOINEDPLAYER%
You'll have to set @&servername yourself in another script, bit after doing it once it should stay there forever
To see the buttons, pres macro activate, or hold macro override
And for your later question which i couldn't multiquote because it was on another page.., to hold down and press multiple buttons, that's what macro override is forActivate is like a toggle, press it, menu opens, press anything else, menu closes
Override, however, keeps the "menu" open for as long as you hold it, so you can spam your otherwise bound macro keys, or buttons, as much as you want
If you don't want to hold down a key, perhaps "Press(<macro activate key>) at the beginning of every script would keep reopening it, then those buttons won't close the menu?
haven't tested that yet though
my bad, buttons do not show with macro override
'Cause tomorrow spring is here
Woo, you're the best dev ever Mumfrey!
I love the craft function!
I do have plans but I'm going to wait and see what people's opinions are, as with any other feature in the mod I will always be making refinements and improvements.
Just wait and see what I come up with next!
There will be script functions for interacting with controls, but these will be invoked from other scripts rather than events on the buttons themselves, but of course there won't be anything stopping you running a "daemon" script whose job it is to manage the buttons.
I suspect it still doesn't work the way you hope, some of the wish list features didn't make it into 0.9 because of time constraints, rest assured that everything on the wish list remains on the wish list, so I will try to implement it. If I can squeeze this one in for the full release of 0.9 then I will.
Thanks, I realise it may be a bit odd to get to grips with but I've been quietly giggling to myself while testing it out, I might post the source code for this one class just so people can see how ridiculously complex this simple function actually is.
Not quite, no. The prefered way, if possible, is the direct durability of the armours that are on, like
ItemDurubilitythe DURABILITY variable*. No worries though, this is enough to warn a player when armour starts breaking (a big deal on a PvP server), and thats a good enough step forward for me to get it working.I can add variables for armour items no problem, I'll put it in the final release.
I thought this started happening before the update, but i guess not
For example;
$${IFMATCHES(%CHAT%,>>gm ([10]),&number,1);Echo(/gamemode %CHATPLAYER% %&number%);ENDIF}$$
With the stable version, it tries to change the gamemode of a %CHATPLAYER%
that obivously does nothing, but it shows the IFMATCHES working without a crash, as well as the Echo
However, the new version runs the command but crashes just after
ModLoader 1.2.5
mod_Macros 0.9 beta 1
mod_ModLoaderMp 1.2.5v1
mod_MAtmos_forModLoader r12 for 1.1.x
mod_LittleBlocks 1.13
mod_TooManyItems 1.2.5 2012-04-13
mod_WorldEditCUI 1.2.5 for Minecraft version 1.2.5
Minecraft has crashed!
----------------------
Minecraft has stopped running because it encountered a problem.
--- BEGIN ERROR REPORT d7987448 --------
Generated 31.07.12 15:26
Minecraft: Minecraft 1.2.5
OS: Windows 7 (x86) version 6.1
Java: 1.6.0_32, Sun Microsystems Inc.
VM: Java HotSpot™ Client VM (mixed mode), Sun Microsystems Inc.
LWJGL: 2.4.2
OpenGL: GeForce 8800 GT/PCIe/SSE2 version 3.3.0, NVIDIA Corporation
java.lang.NullPointerException
at java.util.regex.Matcher.quoteReplacement(Unknown Source)
at net.eq2online.macros.scripting.StringVariableHolder.SetVariable(StringVariableHolder.java:80)
at net.eq2online.macros.event.providers.OnChatProvider.ProvideVariables(OnChatProvider.java:83)
at net.eq2online.macros.core.Macro.ProvideVariables(Macro.java:760)
at net.eq2online.macros.scripting.ScriptActionProvider.ProvideVariables(ScriptActionProvider.java:220)
at net.eq2online.macros.scripting.ScriptActionProvider.ProvideVariables(ScriptActionProvider.java:241)
at net.eq2online.macros.scripting.StringVariableHolder.Refresh(StringVariableHolder.java:56)
at net.eq2online.macros.scripting.StringVariableHolder.<init>(StringVariableHolder.java:45)
at net.eq2online.macros.scripting.ScriptAction.ParseVars(ScriptAction.java:403)
at net.eq2online.macros.scripting.actions.lang.ScriptActionIfMatches.ExecuteConditional(ScriptActionIfMatches.java:26)
at net.eq2online.macros.core.MacroAction.Execute(MacroAction.java:194)
at net.eq2online.macros.core.MacroActionProcessor.Execute(MacroActionProcessor.java:145)
at net.eq2online.macros.core.Macro.PlayMacro(Macro.java:646)
at net.eq2online.macros.core.Macros.PlayMacro(Macros.java:1251)
at net.eq2online.macros.core.Macros.PlayMacro(Macros.java:1213)
at net.eq2online.macros.event.MacroEventManager.DispatchEvent(MacroEventManager.java:186)
at net.eq2online.macros.event.MacroEventManager.OnTick(MacroEventManager.java:140)
at net.eq2online.macros.core.Macros.OnTick(Macros.java:1329)
at net.eq2online.macros.core.MacroModCore.OnTickInGame(MacroModCore.java:997)
at mod_Macros.onTickInGame(mod_Macros.java:75)
at ModLoader.onTick(ModLoader.java:1102)
at EntityRendererProxy.b(EntityRendererProxy.java:22)
at net.minecraft.client.Minecraft.x(SourceFile:752)
at net.minecraft.client.Minecraft.run(SourceFile:671)
at java.lang.Thread.run(Unknown Source)
--- END ERROR REPORT b90effe6 ----------
there's no chat related mods,
and magiclauncher saw no problems
'Cause tomorrow spring is here
Thanks for the comprehensive report. I've already found and fixed this one. The "guess" algorithm is supposed to return a null value to indicate a guess wasn't made (the algorithm couldn't identify the player name in the message) and does so correctly, however this null value was still getting passed through to the context provider for onChat and resulted in the NPE you've identified.
This is exactly what beta testing is for so it's good to find stuff like this
oh, that's good..., i can just revert to my trusty chatreader and it should work fine then
Edit, apparently not, i thought this was only getting triggered when i use one of those global variables, but i was wrong
Oh well, i guess it can wait >=), onwards to buttons
TP buttons, gamemode buttons, math buttons, yay
i can make every useless thing i'll rarely need without spending valuable keyboard space or memorizing where they are \o/
'Cause tomorrow spring is here
Using math, it goes from right to left, which isn't very intuitive
2+2*2*2=10, which is okay
2*2+2*2=12, which should be 8
2*2*2+2=16, which should be 10
5*5*5+2=175
-------------------------------------
"Don't remember parameters" is disabled for buttons
'Cause tomorrow spring is here
Ok I've added the following to VariableProviderPlayer, so will be available in 0.9 full release:
The reason for providing the ID as well is you can then tell what type of armour you're wearing in each slot. Vars return zero if nothing in that slot.
The maths thing I will sort in due course but I was quite pleased to get it working at all, parentheticals are honoured so complex expressions can still be created.
"Don't remember parameters" is disabled for buttons because at the moment buttons still dispatch macros asynchronously (sort of) so can't take parameters (yet).
Can't take parameters?, then what is *this* doing?
'Cause tomorrow spring is here
I tested that just too see. It doesn't work.
Also. "5x5x5+2" does not equal 175, it equals 127. However, 5x5(5+2) does equal 175. Maybe the order of operations is messed up ;D
Also,
If for example I put
And then typed "LOL&1&2OMG:"
I would then echo "LOL?1 v OMG"
When it should echo "LOL v ?2OMG"
This annoys me. Can you fix ?
So basically it crafts all diamond armor and closes the workbench gui.
Their probably a way to do this with a script
'Cause tomorrow spring is here
Macro/Keybind mod Wiki
Sorry, I've been continuing to work on stuff since releasing the beta so it's getting a bit confusing and buttons
no longer accept parametersnow only parse parameters if they are set to close the GUI when clicked (the default behaviour). I've enabled the inhibit params option for buttons now to support this.Yes the order of operation is messed up, I know this. I recommend sticking to simple arithmetic or just using parentheses for now, which at the end of the day is still a billion times easier than using INC and DEC for everything, plus easier to read.
Beware greedy matches, also beware ungreedy matches where you may have multiple delimiters, for example if you make both matches ungreedy. A useful construct is a negated character class with your boundary character in it, so for example to match all characters up to a colour code you could use ([^\xa7]+)\xa7 which is greedy but still safe and won't ever eat a colour code. In simple cases this is functionally equivalent to (.+)\xa7 but changes functionally depending on the pattern after the delimiter, especially if the pattern afterward is anchored but ungreedy.
I've now added an onAutoCraftingComplete event to deal with this. The problems you're experiencing are because calls to CRAFT are not blocking, they queue the craft asynchronously and process it separately to the script's execution. A call to CRAFT is ignored if a craft is already in progress but if a craft is queued but not started it will just queue the later one instead, hence why it appeared to just craft the last thing you requested.
With the event you'll now be able to implement a callback-driven automatic crafting process.
Also you can close the current GUI screen by just calling GUI() with no parameters.
No but I can add a variable to the event with this information.
In case anyone is actually interested, here's the source code for the current incarnation of the automatic crafting functionality: AutoCraftingManager.java
a loop must have an end and it have to be DO(40); <content> LOOP;
and the second one the LOOP; must before the ENDIF;
Macro/Keybind mod Wiki
Please read the installation instructions carefully, I take no responsibility for horrible creatures breaking through from the Dungeon Dimensions if you fail to follow these directions!
Installation instructions for 0.9 public beta 2
This version does not use Risugami's ModLoader because it is not yet available, instead it uses a custom bootstrapper designed to emulate modloader for the time being. The custom bootstrapper will not load other mods, only the public beta:
Download links
Change log for this version