Inactive [MECH/DEV] ItemCraft 1.6.6 - Support for client mods in Bukkit [1060/1000]

Discussion in 'Inactive/Unsupported Plugins' started by asdaarg, May 3, 2011.

  1. Offline

    asdaarg

    ItemCraft
    Version:1.6.6
    [​IMG]

    Description:

    ItemCraft is a Bukkit mod that allows adding new item and block types, crafting and furnace recipes, and custom tree generators and more. Using a Modloader and SettingsGUI interface it allows subplugins known as ICPlugins to be loaded to support client mods. ICPlugins can be created by translating a client mod using the ICTranslator ICplugin. Using a ModloaderMP interface (ported by krnlyng/liar) it allows porting multiplayer mods to bukkit.

    Features:
    • Add more Block types
    • Add more Item types
    • Add more Entity types
    • Add more TileEntity types
    • Add more Crafting recipes
    • Add more Smelting recipes
    • Add more Tree generators
    • Ported ModLoader interface
    • Ported ModLoaderMP interface
    • Fake GUIAPI Settings interface
    • Startup file for configuring plugins and making simple blocks and items

    Installation & Usage:
    • Back up your world(s). Just in case.
    • ItemCraft.jar goes in same folder as craftbukkit
    • IC plugins go into ItemCraft/ICPlugins folder under craftbukkit. (folder is autocreated the first time)
    • uncomment (remove #) in front of all plugins you want to use in plugins.ics (autocreated in ItemCraft/ICScript)
    • Make sure you have the recommended version of craftbukkit in the title - since this is a mod of that version in particular.
    • Delete/rename the META-INF folder inside craftbukkit-0.0.1-SNAPSHOT.jar (Use some decent zip program (e.g. 7zip) that can do it.)
    • All players on the server needs to have the client mods installed
    • If you use the 16 bit entity id packet mod (in case you use new entites (only ICMCreatures need it)), All players need (flan's unofficial) ModLoaderMP client mod
    • All players also need the 16 bit entity id packet mod (overwrites a ModLoaderMP's class so make sure ModLoaderMP is installed first) in case you use new entites (only ICMCreatures need it) If decide not to use the packet mod, you can turn it off putting this in your startup file: false setEntityIDPacketMod
    • Sometimes you get block/item ID conflicts, between plugins. You then need to set the conflicting ids in the startup script using setID command: example. They have to be set before the plugin that uses them is loaded. Note also that there is typically a props file on the clientside you have to edit the ids on to be the same as well.
    • To start:
      • Windows:
        Code:
        java -Xmx1024M -Xms1024M -cp ItemCraft.jar;craftbukkit-0.0.1-SNAPSHOT.jar org.bukkit.craftbukkit.Main
      • Others:
        Code:
        java -Xmx1024M -Xms1024M -cp ItemCraft.jar:craftbukkit-0.0.1-SNAPSHOT.jar org.bukkit.craftbukkit.Main
      IF You do not understand how to install this follow THIS link! Also Try:

      ItemCraft Forum
      ItemCraft Wiki


      Downloads:

      Installation instructions changed since 1.5

      For Minecraft 1.7.3

      Inofficial ItemCraft update by Syrome1.6.6 (#1060)
      ItemCraft 1.6.5 (#1000)
      QwertyPower files (ICSGlass, ICFancyPack addons and more...)
      o4kapuk 16 bit packet mod Does not work without (flan's unofficial) ModLoaderMP client mod.
      ICKSlopes - support for Kaevator SuperSlopes
      ICNTrees - support for Nandonalt's Trees mod. Details regarding use Ignore ScotTools or you will have problems breaking various blocks
      ICFancyPack - support for ChocolateySyrup's FancyPack unofficial update for 1.7.3 mod Details regarding use of potted plants IDs and settings
      User ported mods list maintained by icephantom

      For Minecraft 1.6.6

      ItemCraft 1.4.5
      ItemCraft 1.5.1 (for use with planes)

      ItemCraft 1.3.5 (for CB #818)
      ICSGlass - support for ChocolateySyrup's Stained Glass unofficial update for 1.6.6 mod
      ICFancyPack - support for ChocolateySyrup's FancyPack unofficial update for 1.6.6 mod Details regarding use of potted plants Also be sure to read: Release notes Does not work well and not at all with the newest FancyPack update(v6) Wait until client is stable.
      ICKSlopes - support for Kaevator SuperSlopes
      Usage notes
      ICNTrees - support for Nandonalt's Trees mod. Details regarding use
      ICMCreatures - Support for DrZhark's Mo's Creatures
      16 bit entity id packet mod
      User ported mods list maintained by Asymetrikon


      Dev tools:
      ICJanino
      ICJode
      ICTranslator - How to use

      Other
      Source and old versions


      ICScript documentation

      Frequently Asked Questions

      Tutorial on how to make your own blocks also list of block and item IDs in most popular mods.


      Suggestions of mods to port
      Vote here not in this thread anymore (it gets lost in all the other stuff)

      Reporting errors:
      • Read known issues - don't report those.
      • State the version of CB, ItemCraft and ICPlugin(s) you have problems with
      • If your client crashes, start the client from command line so that you get the error report.
      • Make sure the mod(s) works in SSP First before you report any errors here.
      • You are more likely to get a response if you describe the problem in more detail and do some testing yourself first of under what circumstances it occurs
      • Do not ask for uploads of minecraft.jar.
      • Do not pm me.
      • If you have problems installing, you are likely doing something wrong. Make sure you've followed the instructions exactly, read the FAQ and Wiki. If that doesn't work you can always ask in the thread, while I will likely not reply, there are others who can help you with your problem. But at least try to get it working yourself first.

      That said, I want to thank all who have helped users with their problems. In particular special thanks to icephantom and Asymetrikon for their big efforts in this. Also a special thanks to xeronut for being generally helpful.

      Changelog: (open)

      ItemCraft:
      v1.6.6
      • Inofficial update by Syrome to support CB #1060 and ModloaderMp v1.7.3v4.
      v1.6.5
      • Added changes by krnlyng/liar to support buildcraft
      v1.6.4
      • Inofficial updated by Qwertypower to support CB #1000
      v1.6.3
      • Fixed Generators not working since ModLoaderMP merged.
      v1.6.2
      • Added option to turn off packet230 being sent to clients: false setPacket230OnLogin
      v1.6.0,1.6.1
      • @QwertyPower's unofficial update to 1.7.2 and 1.7.3.
      v1.5.1
      • Fixed issues with ICPlugins not being able to use ModLoader methods obtained through relection.
      v1.5
      • Merge with @krnlyng/liar's translated vesion of SDK's ModLoaderMP
      v1.4.5
      • Added dummy method RegisterTileEntity to fake modloader.
      v1.4.4
      • Added dummy methods AddArmor and getUniqueSpriteIndex to fake modloader.
      v1.4.3
      • ItemCraft commands are now loaded automatically and can be used in init.ic
      v1.4.2
      • Fixed nonesense message when parsing a string and EOF is found after escape character.
      • Platform independent line breaks of autocreated files
      • added some stuff in the autocreated file
      v1.4.1
      • Fixed unupdated materials.java mod causing problems for other plugins accessing the enum's constants for new block ids 1.6.
      v1.4
      • Removed spam on use command
      • Fixed java method invocation
      • Added javamethod invocation of declared methods
      • Fixed pop removing 2 elements off stack
      • putsetting command, allowing editing settings using new script
      • putvar and getvar commands allowing use of variables in scripts
      • added if command, conditional execution of closures
      • ishidden, isCustomType and getCustomType commands
      • exec command, allowing execution of closures. Acts as function calls.
      • while command, for while-loops, execution of closures.
      • Annotation of non-standard methods allowing correction of semantics during parsing with methods that manually alter type info. (needed for for loops, and various stack commands (such as popall, push, pull,dup, casting, getvar, all that do not have a static type signature) to have any usefulness beyond execution using GUI.
      • added casts
      v1.3.8
      • Fixed setEntityIDPacketMod demanding a this pointer.
      v1.3.7
      • Fixed boolean constants missing.
      v1.3.6
      • Updated to CB #860
      • GUI is now off by default
      v1.3.5
      • Fixed illegal access of Item constructor and other methods
      v1.3.4
      • 16 bit Entity Id Packet mod can now be turned off
      • Added file loading functions that use filename rather than file class for Fileman, for use with Janino
      v1.3.3
      v1.3.2
      • Fixed intellisense being screwy, showing previous context
      • Fixed castability test of primitive types to primitive types being screwy
      • Fixed selected method in context view not being visible (scrolled down/up to).
      v1.3.1
      • Fixed array bounds error
      v1.3
      • added intellisense (context box showing sorted list of all applicable methods in context at cursor position, as well as selecting the one closest matching)
      • added tooltips showing documentation both in command box and in the context (list) box
      • added getmaterial method to get Minecraft's materials
      • added documentation to most methods.
      • removed some obsolete methods
      • renamed some methods
      v1.2.2
      • remove NAME: spam on classloaderlclass, 1,2,3 4.. spam and vs: spam
      • fixed classloaderlclass leaving junk on stack
      • fixed getconstructor (?)
      • fixed right square bracket without left square bracket not resulting in parse error
      • fixed parse to fail due to right bracket not yielding an array type
      v1.2.1
      • removed autocreate double spam
      • ics extension changed to ic (conflicting with korganizer and iCalendar)
      • moved plugins into plugins.ic (since it now doesn't execute "use" until it parsed the whole file, it doesn't
      • recognize ItemCraft functions in init.ic)
      • added setID
      • added back support for old file format using includeold
      • fixed execution of abstract script calling providing arguments in wrong order
      v1.2
      • ICScript is now completely converted into postfix
      • Completely rewritten script parsing and execution code
      • Math functions should work now
      • Scripts Are not executed until fully parsed
      • ICS now support direct invokation of java functions when no ICS function matches a call
      • ICS now support arrays
      • ICS now support closures (for later support for menus, functions, loops, conditionals)
      • Parser produces Abstract code that runs much faster, than when having to parse each time to execute code.
      • Pre 1.0-style startupfile scripts are no longer supported (for now)
      • Warning of Block loss with prompt to quit CB on any error during parsing
      • Warning of Block loss with prompt to quit CB if startup script file was not found and was autocreated. This way you can have it autocreate it safely without having to worry about loss of blocks during upgrade.
      • Detailed error reports during both parsing with line number and column and during execution.
      v1.1
      • added simple math functions
      • added basic string and character functions
      • fixed methods popping more than one element
      v1.0.3
      • fixed dup not duplicating
      • added primitive classes
      • added parsing of primitives as primary commands
      • added parsing of strings as primary commands
      v1.0.2
      • fixed identifier after a string being misparsed
      v1.0.1
      • fixed popup menus not working in windows
      • added methods to get icplugins and their classloaders
      • added methods to get constructors and invoke them
      v1.0
      • Implemented new functional script language ICScript
      • Implemented GUI
      • inclusion of files (so you can split up startupfile in smaller files)
      • loading plugins on the fly
      • executing any script commands on the fly using GUI
      • exploring variables and functions of objects in GUI
      • invoke any functions, private or public, on any class loaded in IC/ICPlugins/minecraft/CB/any bukkit plugins
      • Built in text editor (was going to be for editing java code)
      • Removal of blocks, entities and items, even on the fly
      • Adding new blocks, entities and items on the fly
      • Specify what entities spawn in what biomes and how frequently.
      • Customizable programmable menus per node type in GUI
      • IC now retrieves version number both for plugins and itself automatically and reports it when plugins are loaded
      v0.8.5
      • fixed mimic having target object mimic itself.
      v0.8.4
      • fixed invokation on wrong object when interacting with mimiced block
      v0.8.3
      • fixed setint setting a string and not an int
      v0.8.2
      • fixed case sensitivity of block parameters
      • fixed some other bugs related to block parameters
      • no more commas assigning multiple values in block parameters (because I'm lazy)
      v0.8.1
      • Mobs that are unspawnable don't crash the server anymore
      v0.8
      • Added new startupfile commands: blocks and entites
      • Added new startupfile commands: setbool, setint, setfloat, setdouble, that allows changing the settings of mods that use GUIAPI (nandonalt trees and mo's creatures)
      v0.7.5
      • fixed various bugs with craft command in startup script
      v0.7.4
      • removed debug spam on id command
      • fixed comments causing "unknown commands" in startup file
      • cleaned up unnecessary stuff from error report
      • fixed skip skipping over the next line too
      v0.7.3
      • Implemented modloader removespawn (could that have anything to do with the watermob problem?)
      • fixed unknown command spam on empty lines
      • fixed some bugs with craft command in startup file manager.
      v0.7.2
      • Fixed kicked when horse throws you off because of accessing protected field
      v0.7.1
      • Fixed problems adding recipes, tile entites, entites using API.
      • added items command for debug purposes
      • added a copy of spawncreatures to the mod, no idea if that will solve the issue with sharks crashing server.
      v0.7
      • Mimic feature of block allows block to mimic other blocks, fully or in some respect (useful to customize blocks beyond the fixed values from startup file)
      • back to start from craftbukkit folder; its no longer a plugin
      • IC plugins go into ICPlugin folder now in craftbukkit folder. These are to avoid problems caused by plugins being reloaded by CB
      • usedefaults on by default
      • fix item 0 is not valid item spam
      • implemented Modloader getUniqueEntityId,RegisterEntityID,setPrivateValue
      • implemented various SettingsGUI widgets facades, and SettingFloat, SettingsMulti
      • script pauses when error occurs to avoid startup with wrong settings
      v0.6.1
      • Items are also registered as dummy, to avoid error spam by other plugins
      v0.6
      • Modloader world generator interface for normal type worlds implemented
      • Barebones fake GUIAPI interface that loads default settings (might add ability to modify options through startup later)
      • Added fix for blocks not having dummy material in ICFancyPack that inherit the Block class directly
      • Dummy id changed to 255
      v0.5
      • Added support for Entities in API
      • Added support for adding mobs to biome spawnlist in API
      • Added support for adding tilentities in API
      • Added fake modloader for to interface with translated mod plugins
      v0.4.4
      • Added more detailed output when plugin loading fails.
      v0.4.3
      • Backward incompatible update to 766
      v0.4.2
      • Added ability to set data on input items in crafting recipe
      • Added ability to comment in startup file with #
      • Added more error handling.
      v0.4.1
      • Fixed unable to craft out of nonblocks
      • Added more error handling
      • Partial support for GUIs
      v0.4.0
      • Mod for custom tree generation
      • Custom Tree generation API
      • Custom Tree generation startup file instructions:tree,treebiome and biometreedensity
      v0.3.5
      • Added mod of org.bukkit.Material to accomodate new block types, should reduce at least some errors other plugins have.
      v0.3.3
      • Fixed Item id being offset by 256
      • Fixed startup script created Blocks not being added to item list
      • Added more error handling
      v0.3.2
      • Fixed ItemCraft not starting because of spaces in the path on windows machines
      v0.3.1
      • Fixed regexp error on windows when starting as plugin
      • More error handling added
      • Fixed freeze when adding new block properties using startup script
      v0.3
      • Now doubles as plugin, so you can start it as a plugin rather than a mod
      • Startup file autocreation
      • loud startup file instruction- prints out more info at startup
      • a whole lot more error handling
      • fixed bug not being able to load any other plugin that KSlopes.jar (what am I thinking)
      v0.2
      • Most if not all simple constant Block properties now definable from the startup file.
      • Better error handling
      • More complete Block API
      • Syntax correction
      v0.1
      • Initial Release
      KSlopes:
      v0.1.3
      • Made compatible with IC 1.0
      v0.1.2
      • Syntax correction
      • More information on startup
      v0.1.1
      • Fixed slopes and corners dropped having wrong data.
      v0.1
      • Initial Release
      ICFancyPack:
      v0.3.2
      • Introduced options to change settings and IDs
      v0.3.1
      • Disabled new bookshelves
      v0.3
      • Updated for 1.7.3
      v0.2.5
      • Fixed another NPE on startup
      v0.2.4
      • Fixed NPE on startup
      v0.2.3
      • Updated to unofficial version of 1.6.6
      v0.2.2
      • changed class path for flower, cactus and reed
      v0.2.1
      • Fixed not able to place in potted plants
      • Fixed blockcycler interaction
      v0.2
      • Added potted plants
      v0.1
      • Initial Release
      ICNTrees
      v0.1.4
      • Updated to 1.7.3
      v0.1.3
      • Fixed static construction of objects problem
      • Fixed no tree generation
      v0.1.2
      • updated to 1.6.6
      v0.1.1
      • fixed clicking on bananacake blocks, fruit leaves
      • fixed using fertilizing
      • fixed activating banana cake
      v0.1
      • Initial Release
      ICMCreatures
      v0.1.2
      • Updated to 1.6.6
      v0.1.1
      • Made everything public and even added a public ()V constructor in water mob class (no idea if that will solve it though)
      • Says its loaded on startup when its loaded
      v0.1
      • Initial Release
      16 Bit Entity ID Packet Mod
      v0.2
      • Supports both 16 bit and 8 bit servers
      v0.1
      • Initial Release
      ICSGlass
      v0.1.1
      • Fixed conflict with glass bug
      v0.1
      • Initial Release
      ICTranslator
      v0.1.4
      • Fixed no output on windows machines.
      v0.1.3
      • More informative about files to translate not being found.
      v0.1.2
      • Made it tolerate there being no file separator at the end of retroSource.
      • Removed some spam.
      v0.1.1
      • Added checks that make sure you have all the necessary maps specified, when you translate.
      v0.1
      • Initial Release
      KSlopes:
      v0.1.1
      • Update to 1.7.3
      v0.1
      • Initial Release

      Donate (Not necessary but appreciated)
     
  2. Offline

    asdaarg

    Yes, it does support metadata. In fact Kaevator's slopes are already quite packed, but I think some have only 12 used (4 directions, 3 types of subtypes of blocks), so there could be some more. I would like to have some missing types of blocks that could be put in there. I was even thinking one could make a proxy class to pack all Notch's blocks so they have their id and metadata translated for them, but I guess that would break every bukkit plugin :D
     
  3. Offline

    Aeron

    Yes, definetly, and if I ever will get some profit from maintaining my minecraft server, have to remember to donate to asdaarg for his time on developing such a beast :)
     
  4. Offline

    asdaarg

    To use metadata you basically do:
    public int damageDropped(int i){return i;}
    public int filterData(int i){return i;}
    public void initItem(CustomBlockItem ci){
    cbi=ci;
    cbi.setHasSubtypes(true);
    }
    Btw, I'm going to have to revise this function, its a bit annoying to set cbi=ci, and call it on cbi.
     
  5. Offline

    Manbeast77

    Yep, I even tried to see if the 4 space thing was needed for the yml file, but stll got the same result.
     
  6. Offline

    asdaarg

    I'm afraid this is one of those errors that I can never get my head around. It occurred to me once, and no matter what I did, I couldn't get rid of it. Then after giving up, a few weeks later I no longer got the error.
    Here's a post from stackoverflow:
    So it appears to me this type of thing could happen for a large number of reasons (everywhere I looked people had their different explanations of what causes it.)
     
  7. Offline

    Manbeast77

    Damn, I really want this to work. I've been toying around with kslopes on my single, and see that I could do so much more in multi. I'm wondering if only loading these two without the 20 or so other plugins, then loading them one at a time, will tell me if there is a conflict. I may have time for that.

    I think I fixed it!!!! it isn't:

    depend:
    -ItemCraft
    It's:

    depend: [ItemCraft]

    I looked at the yml files for a couple other plugins to see how they did the dependencies, and came up with this. Now I need to see if the blocks will persist with stopping/starting.


    Edit: Ok, so blocks don't really persist. Even walking out of a chunk will cause the blocks to disappear. I also get a ton of errors when players place the blocks or remove them. I may post the error later.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 14, 2016
  8. Offline

    Michael Murphy

    @Aeron
    Yesterday I combined three ModLoader compatible mod packs together: One I made, the fancy pack, and more doors. It did not work, the console of the client tells you
    (don't hate me if I'm wrong)
    108 and 71 being the ammount of texture slots within terrain.png and item.png left to override.
    This is due to them being spliced into the pre-existing texture atlases. There is an alternative to this, but it involves editing certain things on the client side. It seems more like you could have a possible 4096, and still you will run into this because the texture sheet is not compatible.

    @op
    I've just tested this plugin out and I really like it, but I noticed you can't spawn them, is that because they aren't in the org.bukkit.Material?
     
  9. Offline

    PlatinSturm

    Hi, i dont know if i fully understand ur plugin yet.
    The first thing which came in my mind was that if u can add new blocks an recipes it should be possible to add singleplayer mods for multiplayer. Is that right?

    So as an example i would like to add: "Beekeeper"
    it provides u with bees in Singleplayer and some new blocks + recipes. Its realy smal thats why i use it as an example.I tried to insert it into multiplayer using ur plugin but the problem is, there isnt a .jar like the Kslopes.jar.
    And i dont think it will work if i simply put the datas of the mod into a new .jar.
    Is there a way to transform singleplayer mods? Or did i simply misunderstood the your plugin? ^^

    Sorry im kinda new with bukkit and plugins in general.
     
  10. Offline

    Michael Murphy

    @PlatinSturm
    this is not possible yet. Custom entities require protocol altercation and these blocks aren't correctly registered on the server side.

    @op also I've noticed an error with ItemInWorldManager. When I first attempted adding blocks I didn't implement it properly on the server side(the vanilla server that craftbukkit is referenced against via maven repository) and remember this being an issue as well as ItemStack. Unless there's a nice way in the future to allow additions to the org.bukkit.Material enumeration and also access to the lower-vanilla Block.java, it's going to generate these kinds of errors for all of the custom blocks added this way.

    Code:
    06:53:20 [SEVERE] Could not pass event BLOCK_BREAK to BigBrother
    java.lang.NullPointerException
            at org.bukkit.craftbukkit.block.CraftBlock.getState(CraftBlock.java:312)
            at me.taylorkelly.bigbrother.datablock.BrokenBlock.signCheck(BrokenBlock.java:148)
            at me.taylorkelly.bigbrother.datablock.BrokenBlock.<init>(BrokenBlock.java:30)
            at me.taylorkelly.bigbrother.datablock.BrokenBlock.<init>(BrokenBlock.java:21)
            at me.taylorkelly.bigbrother.listeners.BBBlockListener.onBlockBreak(BBBlockListener.java:60)
            at org.bukkit.plugin.java.JavaPluginLoader$33.execute(JavaPluginLoader.java:400)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:257)
            at net.minecraft.server.ItemInWorldManager.d(ItemInWorldManager.java:156)
            at net.minecraft.server.ItemInWorldManager.b(ItemInWorldManager.java:118)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:436)
            at net.minecraft.server.Packet14BlockDig.a(SourceFile:42)
            at net.minecraft.server.NetworkManager.a(NetworkManager.java:195)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:74)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:371)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:286)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    
     
  11. Offline

    Kaevator

    In fact, it's already packed to the maximum (and thanks to Aeron, he helped me a lot on this!) There are 3 ID taken for 12 different blocks in one material. What Aeron means is that he's applying this method on his mod.
    My mod is taking 45 ID for 720 different blocks (Including the different rotations of a block).
     
  12. Offline

    PlatinSturm

    hmm, thx for the fast answer and what about armors or swords or something like that?
    How would i transform it into ur plugin if its possible?

    And do u mean its not possible in general or ur plugin doesnt support it yet?

    sry for the noob questions :)
     
  13. Offline

    MasterFenrir

    Ehm.. How do I change this batfile to a correct working one where Itemcraft is loaded before the world?

    @ECHO OFF
    SET BINDIR=%~dp0
    "%ProgramFiles%\Java\jre6\bin\java.exe" -Xincgc -Xmx1G -jar "%BINDIR%\craftbukkit-0.0.1-snapshot.jar"
    PAUSE

    Also, ItemCraft doesn't seem to find the KSlopes.jar, but it is in my plugins folder
     
  14. Offline

    Michael Murphy

    Here's a craftbukkit.jar that I've specifically compiled to allow the IDs 181-211 to be recognized and spawned, They're just registered as Blocks on the server side so I don't have any clue what that will do. This means you will not need any plugins to support custom blocks. It also seems that this has had some sort of effect on the way the blocks are placed. I'm assuming this has to do with the fact that I didn't add the classes on the serverside that extend off of Block.It's pretty early in the morning so I'm going to get some sleep and fix this tomorrow, but if you want to see what's going on logon to my server and ask one of the builders to give you one of the custom blocks and place it. I've tested this jar and after starting to build with this plugin enabled and saving a world, I was successfully able to remove this plugin from the server and still have the map functioning correctly where players had previously placed the blocks at (which should have been the same because the IDs havn't changed). Also maybe it'd be better to release something like this as a diff patch for the bukkit server instead of as a plugin until bukkit supports this stuff within plugins.
    I'm not too sure about if it supports Items, but I'd imagine it does; And this plugin doesn't support it. Also it's not my plugin :p I just recompiled the server to support the blocks so the ItemInWorldManager would quit throwing exceptions.
    **edit**

    this isn't my plugin T_T and I'm sorry if it seems like I'm giving off that appearance, I'm not trying to.
     
  15. Offline

    PlatinSturm

    Ah ok thx, is there a way for a common player like me to somehow transform theses mods for ur plugin to accept them?
    Mostly the mod consists of .class files if im not wrong, maybe i just have to put tehm into some folders and creat an config or something like that?
    Im just so eager cause i searched for a long time for an method/plugin. ^^
     
  16. Offline

    Deathlysteve-

    hey uhm so I think i got it working... although now im a bit confused on how to MAKE just a normal item (not a block)... i reckon you should post a video on how to install or make an item because as i can see alot of people (including me) are getting confused. thanks mate mad plugin.
     
  17. Offline

    asdaarg

    I see, thanks for letting me know :)
    It is probable its due to other plugins not being able to handle other block types, although I haven't seen block disappearing because of them yet. Try turning the others off and see if that helps, and then turn one after another on to see which one causes it. I'd like to see those errors otherwise.

    You can spawn them using the id. The funny thing is I never installed any item giving plugin so now I know a lot of those ids from my head.

    Hmm... I'll see if I can do something about it.

    Edit: I think I might be able to:
    Code:
    00235     private Material(final int id, final int stack, final int durability, final Class<? extends MaterialData> data) {
    00236         this.id = id;
    00237         this.durability = (short)durability;
    00238         this.maxStack = stack;
    00239         this.data = data;
    00240     }
    
    00368             lookupId.put(material.getId(), material);
    00369             lookupName.put(material.name(), material);
    
    I just need to construct new Material objects here and add them to the lookup tables.
    Edit: Enums can apparently not be hacked. I made a dirty workaround mod, no idea if it will work. Try it (0.3.4)

    I see. Yes, I forgot the wall slope, its in the slopes too.

    It may be possible with pogic or dyncraft. Beekeeper adds beeswarms and custom GUIs (I might be able to add at least the latter though)

    "%ProgramFiles%\Java\jre6\bin\java.exe" -Xincgc -Xmx1G -cp plugins\ItemCraft.jar;"%BINDIR%\craftbukkit-0.0.1-snapshot.jar" org.bukkit.craftbukkit.Main

    Any suggestions of a simple plugin that I could make an example with?

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 14, 2016
  18. Offline

    MasterFenrir

    Should there be a " after org.bukkit.craftbukkit.Main, or not? Just a little check, since it is like that in the original.
    Thanks^^
    Sadly I can not test it right now, but... will it also solve the fact KSlopes.jar not being found?
     
  19. Offline

    Deathlysteve-

    ... what? cant you just give me an explanation on HOW TO MAKE AN ITEM pelase? or am i understanding this in a wrong way...?
     
  20. Offline

    asdaarg

    Item support is currently only in the API, which has never before been tested. If you want to make a simple item that does nothing then it is quite simple though. You put this in your startup.txt:
    Item <id>
     
  21. Offline

    Deathlysteve-

    yes thats what I want... Ok thanks. Oh also how would I get the IMAGE for the item? :confused:
     
  22. Offline

    asdaarg

    " is just there to enclose spaces which there aren't so I suppose it would work even without them. Or maybe %BINDIR% needs it. No just run it as such and see if it works.
    I don't know; it might be due to the way you ran it which I don't know.

    That you do in the client mod.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 14, 2016
  23. Offline

    Deathlysteve-

    ahhh so it basically allows you to use the singleplayer custoom made items in SMP? thats mad! :)
     
  24. Offline

    asdaarg

    Yes.
     
  25. Offline

    Deathlysteve-

    uhm would this work with somethign ive made on MakeMyItem?? :confused: sorry for all the questions haha

    EDIT: ok I just tried it anyway... and when I type in the startup.txt:
    Code:
    config usedefaults
    Item <5001>
    it comes up with this like 5 million times, each second:
    Code:
    21:47:41 [INFO] Invalid Item Definition
    soo whats wrong...? I tried:
    Code:
    config usedefaults
    Item 5001
    . it got rid of that error but it didnt even recognise the item and it didnt work... anythign wrong?
     
  26. Offline

    Ygreg

    I have a problem with adding a new block.

    The client is modded with MakeMyBlock (http://www.minecraftforum.net/viewtopic.php?f=25&t=167668), a new block with ID 112 is added. It works in single player.

    I'm trying to add a new recipe. I've tried two versions of a startup file:
    Code:
    loud
    config usedefaults
    material
    block 112
    craft 112 1 0
    aba
    a=5
    b=54
    and
    Code:
    loud
    config usedefaults
    material
    
    block 112
    craft 112 1 0
    aba
    ...
    ...
    a=5
    b=54
    With both versions I get te following exception:
    Code:
    15:43:17 [INFO] ItemCraft:craft 112 1 0
    15:43:17 [INFO] ItemCraft:aba
    15:43:17 [INFO] ItemCraft:a=5
    15:43:17 [INFO] ItemCraft:b=54
    15:43:17 [SEVERE] java.lang.NullPointerException
    15:43:17 [SEVERE]       at com.asdaarg.bukkit.itemcraft.ItemCraft.addCraftRecipe(ItemCraft.java:418)
    15:43:17 [SEVERE]       at com.asdaarg.bukkit.itemcraft.ItemCraft.addCraftRecipe(ItemCraft.java:415)
    15:43:17 [SEVERE]       at com.asdaarg.bukkit.itemcraft.ItemCraft.load(ItemCraft.java:136)
    15:43:17 [SEVERE]       at com.asdaarg.bukkit.itemcraft.ItemCraft.init2(ItemCraft.java:488)
    15:43:17 [SEVERE]       at com.asdaarg.bukkit.itemcraft.ItemCraft.init(ItemCraft.java:475)
    15:43:17 [SEVERE]       at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:143)
    15:43:17 [SEVERE]       at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:260)
    15:43:17 [SEVERE]       at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    15:43:17 [SEVERE] Unexpected exception
    java.lang.NullPointerException
            at com.asdaarg.bukkit.itemcraft.ItemCraft.addCraftRecipe(ItemCraft.java:418)
            at com.asdaarg.bukkit.itemcraft.ItemCraft.addCraftRecipe(ItemCraft.java:415)
            at com.asdaarg.bukkit.itemcraft.ItemCraft.load(ItemCraft.java:136)
            at com.asdaarg.bukkit.itemcraft.ItemCraft.init2(ItemCraft.java:488)
            at com.asdaarg.bukkit.itemcraft.ItemCraft.init(ItemCraft.java:475)
            at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:143)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:260)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    
    What am I doing wrong?

    I've also tried smelting instead of crafting:
    smelt 54 112 1 0
    Now the new block smelts, and I can take it out of the furnace. Then I try to place the smelted block (id 112), and bam:
    Code:
    java.lang.NullPointerException
            at net.minecraft.server.ItemStack.placeItem(ItemStack.java:56)
            at net.minecraft.server.ItemInWorldManager.interact(ItemInWorldManager.java:217)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:521)
            at net.minecraft.server.Packet15Place.a(SourceFile:57)
            at net.minecraft.server.NetworkManager.a(NetworkManager.java:195)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:74)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:371)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:286)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    
    The client disconnects with an "Internal Server Error". When I log back in, the block is gone. Any ideas?

    I'm trying to get the same mod working. Try to use a lower id. Also if you are trying to spawn the new item with General plugin or something like that, it won't recognize it. Try creating a smelting recipe (see my post above), and let me know if it works on your server.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 14, 2016
  27. Offline

    PlatinSturm

    Wow ur realy fast at responding!

    For the Beekeeper mod, it was just an example, because i think there are many ppl like me who would like a plugin which can transform these mods, or at least some, to multiplayer. To add new Blocktypes and Items are a realy important step.

    I will try to combine the new blocks with an other plugin called "preciouse stones" where u can add atributes to specific blocks. If that would work it would be a realy awesome first step.
     
  28. Offline

    asdaarg

    <> is of course somethign that shouldn't be there, its just there to show that its a parameter that you replace with something. But I guess I should make it handle it better rather than going into a infinite loop there. Do you get any errors with Item 5001?

    Hmm, I have not smelted any blocks myself, I'll see if I can replicate this. Your crafting script looks ok, its my plugin not handling it.
    Edit: I broke this when I created the SimpleBlock class, and I haven't made a replacement for it, will be fixed in a moment.
    Edit: Fixed, but I'm adding another fix for Item 5001 to work too

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 14, 2016
  29. Offline

    Ygreg

    Great, can't wait to test the fixed version :D
     
  30. Offline

    asdaarg

    Its out, both things should be working now :)
     
  31. Offline

    BluePhoenix

Share This Page