At run time, EXEC looks at the 3 parameters and performs expansion on parameter 0. So the parameters are split before expansion is done. With your method you'd get (compiled):
Which when expanded will fail to produce a valid file name in parameter 0, and parameters 1 and 2 will be empty.
The problem you're up against is that file includes are processed as part of compilation not execution, so yes EXEC is always going to be the only way to dynamically choose a file. You can't however (until 0.9) dynamically choose the parameters passed through EXEC, they will always be static. If you have a small universe of possibilties you can always use IF:
SET(&file,"file.txt");
IF(something);
EXEC(%&file%,"taskname","Value for something");
ELSEIF(somethingelse);
EXEC(%&file%,"taskname","Value for something else");
ELSEIF(somethingelseelse);
EXEC(%&file%,"taskname","Value for something else else");
ELSE;
EXEC(%&file%,"taskname","Value for everything else");
ENDIF;
But to be honest I'd just wait for 0.9 now.
It's nothing important, but i'm kind-of on a timeframe with this, may i ask how "soon" you meant?
Hm..., actually i might try that one, sending the entire command as a global but having files for the commands themselves
that way i might get it down to a really low number, less than 10 even
thanks for that idea.., somehow i convinced myself i had a large number of commands, though in hindsight i probably don't
Was wondering if it's possible to set the currently selected slot to specific items if in creative mode? That would be really great to have saved inventories to easily select set ups.
Not at the moment, however i recommend the TMI mod for that, it has 7 slots of saved inventories
(and blocks missing from the creative mode inventory)
I know about that, and tbh, I'd rather use NEI. But the thing is that I'm playing on a creative server too sometimes, and I'm not allowed to spawn items, so I have to use the creative mode inventory.
The new CRAFT function in 0.9 works this way; in survival it requires you to be in range of a crafting bench and have the materials, but in creative mode it just dumps a stack into your inventory: simples! To choose which slot it ends up in you just need to choose the slot first.
My schedule for releasing 0.9 is utterly unresolved though because it's finished but not had anywhere near adequate testing (my normal testing cycles are quite rigorous) and with 1.3 now right here I will need to focus on updating to 1.3. I'm considering just releasing a stable beta for 0.9 for 1.2.5 and then making the full release for 1.3 (on the basis that 1.2.5 may be used for quite some time while people wait for all manner of other things to update, such as Bukkit).
The new CRAFT function in 0.9 works this way; in survival it requires you to be in range of a crafting bench and have the materials, but in creative mode it just dumps a stack into your inventory: simples! To choose which slot it ends up in you just need to choose the slot first.
My schedule for releasing 0.9 is utterly unresolved though because it's finished but not had anywhere near adequate testing (my normal testing cycles are quite rigorous) and with 1.3 now right here I will need to focus on updating to 1.3. I'm considering just releasing a stable beta for 0.9 for 1.2.5 and then making the full release for 1.3 (on the basis that 1.2.5 may be used for quite some time while people wait for all manner of other things to update, such as Bukkit).
Does anyone have any thoughts on this?
That craft can be quite useful..lol
I believe bukkit will be synonymous with 1.3 full like 1.2.5 was, so I wouldn't rely on bukkit waiting 3 weeks this time.
Rollback Post to RevisionRollBack
I began minecraft ~July 7 2011 1.7.3 Beta
My username used to be Creative_Dalek but is now Dalek since 2/4/2015
Oh alright, but I stress this is a public beta so there may be bugs. The full release of 0.9 will be for Minecraft 1.3 so this is the only version of 0.9 which will be made available for 1.2.5.
Changelog for this version (takes a deep breath):
Added "buttons" functionality to create macro-able buttons on the macro playback screen
STACKSIZE variable gets the size of stack in hand
Improved handling of multi-line chat messages
Made improvements to the JInput module, MOUSE3 and MOUSE4 now properly supported, and nodes configurable for use under linux and mac.
onChat event now have CHATCLEAN, CHATPLAYER, CHATMESSAGE which uses experimental "guess" algorithm to split inbound chat. Be aware these variables may not contain what you expect, so experiment!!!
Added STRIP command to remove colour codes from strings, syntax is:
STRIP(&outputvar,"String to remove colour codes from")
Improved API module loading
Fixed a crash when updating item names from mods which don't correctly support item names
Added FOR...NEXT loop, syntax is
FOR(#counter,1,10);
// Do stuff
NEXT;
Automatic crafting using CRAFT, and inventory management using SLOTCLICK
CRAFT is still a bit experimental, you must be aiming at a crafting bench to craft recipes requiring a crafting bench, recipes which can be crafted in the inventory will open the inventory gui
New option to display slot ID's as a tooltip. You will likely need to use this if you wish to construct scripts that use SLOTCLICK. Note that slot id's vary between GUI's so you will need to check the GUI variable before executing any inventory management!
Added GETSLOT command to find items in slots. Syntax:
GETSLOT(35,#var); // gets the slot containing wool into variable #var
GETSLOT(35:4,#var); // gets the slot containing blue wool
GETSLOT(35,#var,10); // gets the slot containing wool but starts at slot 10
PICK now supports multiple item id's and also damage values
Fixed bug with onPlayerJoined event triggering for every player on a server when joining
Huge improvements to text editor: copy/paste, selection, basic syntax highlight, minimise editor, choose file
IFMATCHES(%CHAT%,"pattern",&store,1); // store subpattern 1 in &store
Parameters to EXEC are now expanded allowing variables to be passed in as arguments
Can now use extended formatting codes in LOG messages
GUI variable, get the name of the currently display GUI screen
Can now do basic arithmetic and assignment of flags and counters in scripts (not strings yet!)
#counter = HEALTH * 10
Arithmetic supported in conditional expressions
Fixed crashes with some variable providers when invalid data is stored
Replaced large COPY, MOVE, DELETE buttons with neater buttons on the binding bar, added option to put them back in case people prefer them
Added FOREACH iterator function for iterating enchantments, more iterators to come
FOREACH(enchantments);
LOG("Held item has enchantment %ENCHANTMENT%");
NEXT;
Added "first run" dialog box to prompt users to set the keys, and confirm correct installation
onPickupItem now includes an instance variable PICKUPAMOUNT to get the size of the collected stack
Made improvements to the macro edit text fields to support cut/copy/paste and (should) fix cursor positioning issues caused by Optifine and others
Can now specify a port with server-named configs to support auto-switch on servers with multiple ports
Added debug log container in-game, can now write log messages to separate text area using
LOGTO("debug","Text to log to debug container")
Added option to resize keyboard layout display for use in higher resolutions
onShowGui event, raised whenever a different GUI is displayed, access name of the current GUI with the GUI global variable
More stuff I probably forgot but this changelog is long enough already
That's about it, apologies in advance for bugs, like I said I haven't had as much time as I'd have liked to test things. Feel free to ask about the new script capabilities, I'll get some documentation together when my brain has finished melting!
The jinput support is there now, but since you didn't have any luck with JInputTool there's not a lot I can do to improve that, it's clear that the G110 doesn't supply the keys in a format that JInput can deal with. Although you could try changing settings in the driver/software.
java.lang.NullPointerException
at net.eq2online.jinput.JInputComponentRegistry.Format(JInputComponentRegistry.java:214)
at net.eq2online.jinput.JInputComponentRegistry.GetComponentKey(JInputComponentRegistry.java:165)
at net.eq2online.jinput.JInputComponentRegistry.AddComponent(JInputComponentRegistry.java:61)
at net.eq2online.jinput.JInputComponentRegistry.Enumerate(JInputComponentRegistry.java:54)
at net.eq2online.jinput.JInputComponentRegistry.Enumerate(JInputComponentRegistry.java:42)
at net.eq2online.jinput.JInputComponentRegistry.<init>(JInputComponentRegistry.java:36)
at net.eq2online.macros.input.InputHandlerModuleJInput.<init>(InputHandlerModuleJInput.java:82)
at net.eq2online.macros.core.MacroModCore.Init(MacroModCore.java:304)
at mod_Macros.modsLoaded(mod_Macros.java:63)
at cpw.mods.fml.common.modloader.ModLoaderModContainer.postInit(ModLoaderModContainer.java:357)
at cpw.mods.fml.common.Loader.postModInit(Loader.java:280)
at cpw.mods.fml.common.Loader.initializeMods(Loader.java:605)
at cpw.mods.fml.client.FMLClientHandler.onLoadComplete(FMLClientHandler.java:203)
at net.minecraft.client.Minecraft.a(Minecraft.java:426)
at net.minecraft.client.Minecraft.run(Minecraft.java:735)
at java.lang.Thread.run(Thread.java:680)
java.lang.NullPointerException
at net.eq2online.jinput.JInputComponentRegistry.Format(JInputComponentRegistry.java:214)
at net.eq2online.jinput.JInputComponentRegistry.GetComponentKey(JInputComponentRegistry.java:165)
at net.eq2online.jinput.JInputComponentRegistry.AddComponent(JInputComponentRegistry.java:61)
at net.eq2online.jinput.JInputComponentRegistry.Enumerate(JInputComponentRegistry.java:54)
at net.eq2online.jinput.JInputComponentRegistry.Enumerate(JInputComponentRegistry.java:42)
at net.eq2online.jinput.JInputComponentRegistry.<init>(JInputComponentRegistry.java:36)
at net.eq2online.macros.input.InputHandlerModuleJInput.<init>(InputHandlerModuleJInput.java:82)
at net.eq2online.macros.core.MacroModCore.Init(MacroModCore.java:304)
at mod_Macros.modsLoaded(mod_Macros.java:63)
at cpw.mods.fml.common.modloader.ModLoaderModContainer.postInit(ModLoaderModContainer.java:357)
at cpw.mods.fml.common.Loader.postModInit(Loader.java:280)
at cpw.mods.fml.common.Loader.initializeMods(Loader.java:605)
at cpw.mods.fml.client.FMLClientHandler.onLoadComplete(FMLClientHandler.java:203)
at net.minecraft.client.Minecraft.a(Minecraft.java:426)
at net.minecraft.client.Minecraft.run(Minecraft.java:735)
at java.lang.Thread.run(Thread.java:680)
$${
LOG(You picked up %PICKUPAMOUNT% of %PICKUPITEM% (ID: %PICKUPID%)!);
}$$
Well the event can be triggered from one of two places, it can be triggered by ModLoader or by a special override that I register for Packet22 (Item Pickup), it's possible that if something is interfering with the override that the event won't get the information it needs. Do any of the other mods you are using override vv.class by any chance?
It's nothing important, but i'm kind-of on a timeframe with this, may i ask how "soon" you meant?Hm..., actually i might try that one, sending the entire command as a global but having files for the commands themselves
that way i might get it down to a really low number, less than 10 even
thanks for that idea.., somehow i convinced myself i had a large number of commands, though in hindsight i probably don't
'Cause tomorrow spring is here
Not at the moment, however i recommend the TMI mod for that, it has 7 slots of saved inventories
(and blocks missing from the creative mode inventory)
'Cause tomorrow spring is here
The new CRAFT function in 0.9 works this way; in survival it requires you to be in range of a crafting bench and have the materials, but in creative mode it just dumps a stack into your inventory: simples! To choose which slot it ends up in you just need to choose the slot first.
My schedule for releasing 0.9 is utterly unresolved though because it's finished but not had anywhere near adequate testing (my normal testing cycles are quite rigorous) and with 1.3 now right here I will need to focus on updating to 1.3. I'm considering just releasing a stable beta for 0.9 for 1.2.5 and then making the full release for 1.3 (on the basis that 1.2.5 may be used for quite some time while people wait for all manner of other things to update, such as Bukkit).
Does anyone have any thoughts on this?
That craft can be quite useful..lol
I believe bukkit will be synonymous with 1.3 full like 1.2.5 was, so I wouldn't rely on bukkit waiting 3 weeks this time.
I began minecraft ~July 7 2011 1.7.3 Beta
My username used to be Creative_Dalek but is now Dalek since 2/4/2015
Hooway for updates
*If you want me to see your post please quote me, thx* I decided to add this in too because (overloaded Mail box lol)
FINER: Adding mods from /Users/lmcglashon/Library/Application Support/minecraft/mods/zombe
Jul 28, 2012 9:45:18 PM ModLoader readFromModFolder
FINER: Directory found.
Jul 28, 2012 9:45:18 PM ModLoader init
FINE: Mod Loaded: "mod_Macros 0.8.7"
Jul 28, 2012 9:45:18 PM ModLoader init
FINE: Mod Loaded: "mod_TooManyItems 1.2.5 2012-04-13"
Jul 28, 2012 9:45:18 PM ModLoader addAllRenderers
FINE: Initialized
Everything initialized fine but when i look inside my options i dont see anything relating to keybinds
Oh alright, but I stress this is a public beta so there may be bugs. The full release of 0.9 will be for Minecraft 1.3 so this is the only version of 0.9 which will be made available for 1.2.5.
Changelog for this version (takes a deep breath):
CRAFT is still a bit experimental, you must be aiming at a crafting bench to craft recipes requiring a crafting bench, recipes which can be crafted in the inventory will open the inventory gui
That's about it, apologies in advance for bugs, like I said I haven't had as much time as I'd have liked to test things. Feel free to ask about the new script capabilities, I'll get some documentation together when my brain has finished melting!
The jinput support is there now, but since you didn't have any luck with JInputTool there's not a lot I can do to improve that, it's clear that the G110 doesn't supply the keys in a format that JInput can deal with. Although you could try changing settings in the driver/software.
EDIT: Yes, I am using Forge ML.
Uploaded a fix for this, try the download again.
11 minutes! I had to get more beer from the fridge!
When you use PICKUPAMOUNT, it always says 0.
PICKUPAMOUNT is only available in the onPickupItem event, it works fine for me so are you able to provide any more details about your configuration?
$${
LOG(You picked up %PICKUPAMOUNT% of %PICKUPITEM% (ID: %PICKUPID%)!);
}$$
Well the event can be triggered from one of two places, it can be triggered by ModLoader or by a special override that I register for Packet22 (Item Pickup), it's possible that if something is interfering with the override that the event won't get the information it needs. Do any of the other mods you are using override vv.class by any chance?