• 1

    posted a message on Add a "Bedrock Fog" Option

    I don't know about you but, bedrock fog (also known as void fog), was one of my favorite features in Minecraft before it was removed. I know a lot of people didn't like it though, so I think it would be a good idea to add it back and put an option to enable it or not.

    Posted in: Suggestions
  • 0

    posted a message on please help! pc no start

    Oh god, looking at this old thread I made when I was 11 lol, 4 years later and this is literally so easy to fix I could do it in 5 mins (not including the install time of course, just the initialization.) lol I didn't know anything, xD (sorry for old thread bump, I just looked at this and was like "OH GAWD")

    Posted in: Hardware & Software Support
  • 0

    posted a message on Birthday Skin packs 1 and 2 not transferring from ps3.

    hello, i got minecraft for the ps4 recently (yeah i know, a bit delayed) and all of my worlds and dlc were transferred successfully to the ps4, all but birthday skin packs 1 & 2, now my favorite skin is on birthday skin pack 2, so this is an issue for me, any way i can get it on my ps4?

    Posted in: Legacy Console Support
  • 0

    posted a message on [Help] My model just renders as a pink block! PLEASE PUT BACK IN UNMODIFIED HELP (NOT MODDING OR MOD DEVELOPMENT.)

    this is in UNMODED forums. I am making a resorce pack for a one command creaton.

    wait WHO MOVED THIS THREAD!?!?!?!?!?!?

    Posted in: Modification Development
  • 0

    posted a message on MrGarretto's One Command Combiner is broken in 1.12, is there any other combiners? PLEASE HELP

    all done! i have converted mrgarrettos structure to command mcedit filter to work with 1.12, (yes, it is tested) it doesn't work with the new blocks tho, sorry. you will have to use blocks since before 1.11, but that is most of the blocks anyways, so i doubt that will even be an issue.

    anyways, for some reason, my pc won't let me upload files. SO, do EXACTLY as i say.

    copy the code in this spoiler.


    # Structure to one command
    # V2.1
    # Created by MrGarretto
    # Website: mrgarretto.com
    
    from pymclevel import MCSchematic
    from pymclevel import TileEntity
    from pymclevel import TAG_Compound
    from pymclevel import TAG_Short
    from pymclevel import TAG_Byte
    from pymclevel import TAG_String
    from pymclevel import TAG_Float
    from pymclevel import TAG_Int
    from pymclevel import TAG_List
    from pymclevel import TAG_Double
    from pymclevel import TAG_Long
    import inspect
    import random
    import math
    
    displayName = "Structure to Command 1.12"
    
    def cmdBlockTileEntity(cmd,x=None,y=None,z=None):
        control = TAG_Compound()
        control["Command"] = TAG_String(cmd)
        control["id"] = TAG_String("Control")
        if not x == None:
            control["z"] = TAG_Int(z)
            control["y"] = TAG_Int(y)
            control["x"] = TAG_Int(x)
         
        return control
    
    def signBlockTileEntity(line,text,x=None,y=None,z=None):
        control = TAG_Compound()
        control["Text" + str(line)] = TAG_String(text)
        control["id"] = TAG_String("Sign")
        if not x == None:
            control["z"] = TAG_Int(z)
            control["y"] = TAG_Int(y)
            control["x"] = TAG_Int(x)
         
        return control
    
    def idToName(inputid):
        global names
    
        if str(inputid) in names:
            return names[str(inputid)]
    
        # Default if not found in the list
        return 'BLOCKNOTFOUND:' + str(inputid)
    
    groupedblocks = ''
    highestCoords = [-9999999, -9999999, -9999999]
    
    def checkAround(x, y, z, level, box):
        checkFor = level.blockAt(x, y, z)
        checkForData = level.blockDataAt(x, y, z)
    
        # curgrouped should be like so when used: [x1, y1, z1, x2, y2, z2]
        curgrouped = []
        alreadyChoseDir = 'false'
    
        if level.blockAt(x+1, y, z) == checkFor and level.blockDataAt(x+1, y, z) == checkForData and '&'+str(x+1)+','+str(y)+','+str(z)+'&' not in groupedblocks and alreadyChoseDir == 'false':
            curgrouped = checkLinear(x, y, z, 1, 0, 0, level, box)
            alreadyChoseDir = 'true'
        if level.blockAt(x-1, y, z) == checkFor and level.blockDataAt(x-1, y, z) == checkForData and '&'+str(x-1)+','+str(y)+','+str(z)+'&' not in groupedblocks and alreadyChoseDir == 'false':
            curgrouped = checkLinear(x, y, z, -1, 0, 0, level, box)
            alreadyChoseDir = 'true'
        if level.blockAt(x, y+1, z) == checkFor and level.blockDataAt(x, y+1, z) == checkForData and '&'+str(x)+','+str(y+1)+','+str(z)+'&' not in groupedblocks and alreadyChoseDir == 'false':
            curgrouped = checkLinear(x, y, z, 0, 1, 0, level, box)
            alreadyChoseDir = 'true'
        if level.blockAt(x, y-1, z) == checkFor and level.blockDataAt(x, y-1, z) == checkForData and '&'+str(x)+','+str(y-1)+','+str(z)+'&' not in groupedblocks and alreadyChoseDir == 'false':
            curgrouped = checkLinear(x, y, z, 0, -1, 0, level, box)
            alreadyChoseDir = 'true'
        if level.blockAt(x, y, z+1) == checkFor and level.blockDataAt(x, y, z+1) == checkForData and '&'+str(x)+','+str(y)+','+str(z+1)+'&' not in groupedblocks and alreadyChoseDir == 'false':
            curgrouped = checkLinear(x, y, z, 0, 0, 1, level, box)
            alreadyChoseDir = 'true'
        if level.blockAt(x, y, z-1) == checkFor and level.blockDataAt(x, y, z-1) == checkForData and '&'+str(x)+','+str(y)+','+str(z-1)+'&' not in groupedblocks and alreadyChoseDir == 'false':
            curgrouped = checkLinear(x, y, z, 0, 0, -1, level, box)
            alreadyChoseDir = 'true'
    
        # At this point, curgrouped should be set like so: [x1, y1, z1, x2, y2, z2] (the same as stated above)
        # This array of coordinates will be checked by in the main function and will
        # decide whether to make a command or not by checking its length.
        return curgrouped
    
    def checkLinear(x, y, z, xdir, ydir, zdir, level, box):
        checkFor = level.blockAt(x, y, z)
        checkForData = level.blockDataAt(x, y, z)
    
        global groupedblocks
        global highestCoords
    
        # groupStart and groupEnd are the corners of the group
        groupStart = [x, y, z]
        groupEnd = [x, y, z]
    
        multfactor = 1
        extending = 'true'
    
        while extending == 'true':
            if xdir == 1:
                if level.blockAt(x+(xdir*multfactor), y, z) == checkFor and level.blockDataAt(x+(xdir*multfactor), y, z) == checkForData and x+(xdir*multfactor) >= box.minx and x+(xdir*multfactor) < box.maxx and y >= box.miny and y < box.maxy and z >= box.minz and z < box.maxz:
                    groupEnd = [x+(xdir*multfactor), y, z]
                    multfactor = multfactor + 1
                else:
                    extending = 'false'
            if xdir == -1:
                if level.blockAt(x+(xdir*multfactor), y, z) == checkFor and level.blockDataAt(x+(xdir*multfactor), y, z) == checkForData and x+(xdir*multfactor) >= box.minx and x+(xdir*multfactor) < box.maxx and y >= box.miny and y < box.maxy and z >= box.minz and z < box.maxz:
                    groupEnd = [x+(xdir*multfactor), y, z]
                    multfactor = multfactor + 1
                else:
                    extending = 'false'
            if ydir == 1:
                if level.blockAt(x, y+(ydir*multfactor), z) == checkFor and level.blockDataAt(x, y+(ydir*multfactor), z) == checkForData and x >= box.minx and x < box.maxx and y+(ydir*multfactor) >= box.miny and y+(ydir*multfactor) < box.maxy and z >= box.minz and z < box.maxz:
                    groupEnd = [x, y+(ydir*multfactor), z]
                    multfactor = multfactor + 1
                else:
                    extending = 'false'
            if ydir == -1:
                if level.blockAt(x, y+(ydir*multfactor), z) == checkFor and level.blockDataAt(x, y+(ydir*multfactor), z) == checkForData and x+(xdir*multfactor) >= box.minx and x < box.maxx and y+(ydir*multfactor) >= box.miny and y+(ydir*multfactor) < box.maxy and z >= box.minz and z < box.maxz:
                    groupEnd = [x, y+(ydir*multfactor), z]
                    multfactor = multfactor + 1
                else:
                    extending = 'false'
            if zdir == 1:
                if level.blockAt(x, y, z+(zdir*multfactor)) == checkFor and level.blockDataAt(x, y, z+(zdir*multfactor)) == checkForData and x+(xdir*multfactor) >= box.minx and x < box.maxx and y >= box.miny and y < box.maxy and z+(zdir*multfactor) >= box.minz and z+(zdir*multfactor) < box.maxz:
                    groupEnd = [x, y, z+(zdir*multfactor)]
                    multfactor = multfactor + 1
                else:
                    extending = 'false'
    
            if zdir == -1:
                if level.blockAt(x, y, z+(zdir*multfactor)) == checkFor and level.blockDataAt(x, y, z+(zdir*multfactor)) == checkForData and x+(xdir*multfactor) >= box.minx and x < box.maxx and y >= box.miny and y < box.maxy and z+(zdir*multfactor) >= box.minz and z+(zdir*multfactor) < box.maxz:
                    groupEnd = [x, y, z+(zdir*multfactor)]
                    multfactor = multfactor + 1
                else:
                    extending = 'false'
    
            # Adds the newest block to the groupedblock string to track all of them
            groupedblocks = groupedblocks + '&'+str(groupEnd[0])+','+str(groupEnd[1])+','+str(groupEnd[2])+'&'
            if groupEnd[0] > highestCoords[0]:
                highestCoords[0] = groupEnd[0]
            if groupEnd[1] > highestCoords[1]:
                highestCoords[1] = groupEnd[1]
            if groupEnd[2] > highestCoords[2]:
                highestCoords[2] = groupEnd[2]
    
        if len(groupStart) == 3 and len(groupEnd) == 3:
            return [groupStart[0], groupStart[1], groupStart[2], groupEnd[0], groupEnd[1], groupEnd[2]]
        else:
            return []
    
    def tagToNBT(entity):
    
    	curNBT = '{'
    
    	for attr, value in entity.iteritems():
    		print attr, value
    
    		curNBT += ',' + str(attr) + ':' + str(value)
    
    	curNBT = curNBT.replace(',', '', 1)
    
    	return curNBT
    
    def perform(level, box, options):
        blocks = []
        isFill = []
        posx = []
        posy = []
        posz = []
    
        depblocks = []
        depisFill = []
        depposx = []
        depposy = []
        depposz = []
    
        curblock = ''
        curdamage = ''
        tryGroup = []
    
        entitycommands = '';
    
        dependentBlocks = [27, 28, 66, 157, 171, 78, 55, 93, 94, 149, 68, 63, 143, 77]
    
        global groupedblocks
        global highestCoords
    
        for (chunk, slices, point) in level.getChunkSlices(box):
            for t in chunk.TileEntities:
                if t["id"].value in ["Chest", "Hopper", "Dropper", "Dispenser", "Furnace"]:
                    # Containers
                    x = t["x"].value
                    y = t["y"].value
                    z = t["z"].value
                    if (x,y,z) in box:
                        containerblockid = idToName(level.blockAt(x, y, z))
                        containerdamage = str(level.blockDataAt(x, y, z))
    
                        itemstr = ''
                        for item in t["Items"]:
                            itemstr = itemstr + ',{Slot:' + str(item['Slot'].value) + ',id:' + str(item['id'].value) + ',Count:' + str(item['Count'].value) + ',Damage:' + str(item['Damage'].value) + '}'
    
                        blocks.append('setblock ~'+str(x-box.minx+1)+' ~'+str(y-box.miny-3)+' ~'+str(z-box.minz)+' ' + containerblockid + ' ' + containerdamage + ' replace {Items:[' + itemstr + ']}')
                        isFill.append('true')
                        groupedblocks = groupedblocks + '&'+str(x)+','+str(y)+','+str(z)+'&'
                        posx.append(0)
                        posy.append(0)
                        posz.append(0)
    
                if t["id"].value == "Sign":
                    # Signs
                    x = t["x"].value
                    y = t["y"].value
                    z = t["z"].value
                    if (x,y,z) in box:
                        signblockid = idToName(level.blockAt(x, y, z))
                        signdamage = str(level.blockDataAt(x, y, z))
    
                        Line1 = str(t['Text1'].value)
                        Line1 = Line1.replace('\\', '\\\\')
                        Line1 = Line1.replace('"', '\\"')
                        Line1 = Line1.replace('\\', '\\\\')
                        Line1 = Line1.replace('"', '\\"')
                        Line2 = str(t['Text2'].value)
                        Line2 = Line2.replace('\\', '\\\\')
                        Line2 = Line2.replace('"', '\\"')
                        Line2 = Line2.replace('\\', '\\\\')
                        Line2 = Line2.replace('"', '\\"')
                        Line3 = str(t['Text3'].value)
                        Line3 = Line3.replace('\\', '\\\\')
                        Line3 = Line3.replace('"', '\\"')
                        Line3 = Line3.replace('\\', '\\\\')
                        Line3 = Line3.replace('"', '\\"')
                        Line4 = str(t['Text4'].value)
                        Line4 = Line4.replace('\\', '\\\\')
                        Line4 = Line4.replace('"', '\\"')
                        Line4 = Line4.replace('\\', '\\\\')
                        Line4 = Line4.replace('"', '\\"')
    
                        depblocks.append('setblock ~'+str(x-box.minx+1)+' ~'+str(y-box.miny-3)+' ~'+str(z-box.minz)+' ' + signblockid + ' ' + signdamage + ' replace {Text1:"' + Line1 + '",Text2:"' + Line2 + '",Text3:"' + Line3 + '",Text4:"' + Line4 + '"}')
                        depisFill.append('true')
                        groupedblocks = groupedblocks + '&'+str(x)+','+str(y)+','+str(z)+'&'
                        depposx.append(0)
                        depposy.append(0)
                        depposz.append(0)
    
                if t["id"].value == "Skull":
                    # Skulls
                    x = t["x"].value
                    y = t["y"].value
                    z = t["z"].value
    
                    if (x,y,z) in box:
    
                        if "Owner" in t:
                            depblocks.append('setblock ~'+str(x-box.minx+1)+' ~'+str(y-box.miny-3)+' ~'+str(z-box.minz)+' skull ' + str(level.blockDataAt(x, y, z)) + ' replace {SkullType:' + str(t["SkullType"].value) + ',ExtraType:' + str(t["Owner"]["Name"].value) + ',Rot:' + str(t["Rot"].value) + '}')
                        else:
                            depblocks.append('setblock ~'+str(x-box.minx+1)+' ~'+str(y-box.miny-3)+' ~'+str(z-box.minz)+' skull ' + str(level.blockDataAt(x, y, z)) + ' replace {SkullType:' + str(t["SkullType"].value) + ',Rot:' + str(t["Rot"].value) + '}')
    
                        depisFill.append('true')
                        groupedblocks = groupedblocks + '&'+str(x)+','+str(y)+','+str(z)+'&'
                        depposx.append(0)
                        depposy.append(0)
                        depposz.append(0)
    
                
                if t["id"].value == "Control":
                    # Command blocks
                    x = t["x"].value
                    y = t["y"].value
                    z = t["z"].value
                    if (x,y,z) in box:
                        cmdblockid = idToName(level.blockAt(x, y, z))
                        cmdblockdamage = str(level.blockDataAt(x, y, z))
                        cmdblockcmd = str(t["Command"].value)
    
                        curauto = ',auto:'+str(t["auto"].value)
                        if '0' in curauto:
                            curauto = ''
    
                        if cmdblockcmd[:5] == "INIT:":
                            blocks.append('"' + cmdblockcmd[5:].replace('\\', '\\\\').replace('"', '\\"') + '"')
                            isFill.append('true')
                            groupedblocks = groupedblocks + '&'+str(x)+','+str(y)+','+str(z)+'&'
                            posx.append(0)
                            posy.append(0)
                            posz.append(0)
                        else:
                            blocks.append('setblock ~'+str(x-box.minx+1)+' ~'+str(y-box.miny-3)+' ~'+str(z-box.minz)+' ' + cmdblockid + ' ' + cmdblockdamage + ' replace {Command:"' + cmdblockcmd.replace('\\', '\\\\').replace('"', '\\"').replace('\\', '\\\\').replace('"', '\\"') + '"' + curauto + '}')
                            isFill.append('true')
                            groupedblocks = groupedblocks + '&'+str(x)+','+str(y)+','+str(z)+'&'
                            posx.append(0)
                            posy.append(0)
                            posz.append(0)
    
        for (chunk, slices, point) in level.getChunkSlices(box):
            # Entities
            for e in chunk.Entities:
                x = e["Pos"][0].value
                y = e["Pos"][1].value
                z = e["Pos"][2].value
                if (x,y,z) in box:
    
                    if e['id'].value == 'ArmorStand':
    
                        armorstandNBT = ''
    
                        if e['Invulnerable'] != TAG_Byte(0):
                            armorstandNBT += ',Invulnerable:1'
                        if e['Invisible'] != TAG_Byte(0):
                            armorstandNBT += ',Invisible:1'
                        if e['Small'] != TAG_Byte(0):
                            armorstandNBT += ',Small:1'
                        if e['Health'] != TAG_Float(20.0):
                            armorstandNBT += ',Health:' + str(e['Health'].value)
                        if e['Rotation'] != TAG_List([TAG_Float(0.0),TAG_Float(0.0)]):
                            armorstandNBT += ',Rotation:[' + str(e['Rotation'][0].value) + ',' + str(e['Rotation'][1].value) + ']'
                        if e['HandItems'] != TAG_List([TAG_Compound({}),TAG_Compound({})]):
    
                            armorstandNBT += ',HandItems:[{'
    
                            if e['HandItems'][0].value != 0:
                                itemnbtcount = 0
                                for itemnbt in e['HandItems'][0]:
                                    if itemnbtcount > 0:
                                        armorstandNBT += ','
                                    armorstandNBT += itemnbt + ':' + str(e['HandItems'][0][itemnbt].value)
                                    itemnbtcount += 1
    
                            armorstandNBT += '},{'
    
                            if e['HandItems'][1].value != 0:
                                itemnbtcount = 0
                                for itemnbt in e['HandItems'][1]:
                                    if itemnbtcount > 0:
                                        armorstandNBT += ','
                                    armorstandNBT += itemnbt + ':' + str(e['HandItems'][1][itemnbt].value)
                                    itemnbtcount += 1
    
                            armorstandNBT += '}]'
    
                        if e['ArmorItems'] != TAG_List([TAG_Compound({}),TAG_Compound({}),TAG_Compound({}),TAG_Compound({})]):
    
                            armorstandNBT += ',ArmorItems:[{'
    
                            if e['ArmorItems'][0].value != 0:
                                itemnbtcount = 0
                                for itemnbt in e['ArmorItems'][0]:
                                    if itemnbtcount > 0:
                                        armorstandNBT += ','
                                    armorstandNBT += itemnbt + ':' + str(e['ArmorItems'][0][itemnbt].value)
                                    itemnbtcount += 1
    
                            armorstandNBT += '},{'
    
                            if e['ArmorItems'][1].value != 0:
                                itemnbtcount = 0
                                for itemnbt in e['ArmorItems'][1]:
                                    if itemnbtcount > 0:
                                        armorstandNBT += ','
                                    armorstandNBT += itemnbt + ':' + str(e['ArmorItems'][1][itemnbt].value)
                                    itemnbtcount += 1
    
                            armorstandNBT += '},{'
    
                            if e['ArmorItems'][2].value != 0:
                                itemnbtcount = 0
                                for itemnbt in e['ArmorItems'][2]:
                                    if itemnbtcount > 0:
                                        armorstandNBT += ','
                                    armorstandNBT += itemnbt + ':' + str(e['ArmorItems'][2][itemnbt].value)
                                    itemnbtcount += 1
    
                            armorstandNBT += '},{'
    
                            if e['ArmorItems'][3].value != 0:
                                itemnbtcount = 0
                                for itemnbt in e['ArmorItems'][3]:
                                    if itemnbtcount > 0:
                                        armorstandNBT += ','
                                    armorstandNBT += itemnbt + ':' + str(e['ArmorItems'][3][itemnbt].value)
                                    itemnbtcount += 1
    
                            armorstandNBT += '}]'
    
                        if e['ShowArms'] != TAG_Byte(0):
                            armorstandNBT += ',ShowArms:1'
                        if e['NoBasePlate'] != TAG_Byte(0):
                            armorstandNBT += ',NoBasePlate:1'
                        if e['DisabledSlots'] != TAG_Int(0):
                            armorstandNBT += ',DisabledSlots:' + str(e['DisabledSlots'].value)
                        if e['Pose'] != TAG_Compound({}):
                            armorstandNBT += ',Pose:{'
    
                            posePart = 0
    
                            for part in e['Pose']:
    
                                if posePart > 0:
                                    armorstandNBT += ','
    
                                armorstandNBT += part + ':['
    
                                armorstandNBT += str(e['Pose'][part][0].value) + 'f,'
                                armorstandNBT += str(e['Pose'][part][1].value) + 'f,'
                                armorstandNBT += str(e['Pose'][part][2].value) + 'f'
    
                                armorstandNBT += ']'
    
                                posePart += 1
    
                            armorstandNBT += '}'
                            
    
                        armorstandNBT = armorstandNBT.replace(',', '', 1);
    
                        entitycommands += ',{id:commandblock_minecart,Command:summon armor_stand ~'+str(x-box.minx+1 - 0.5)+' ~'+str(y-box.miny-3)+' ~'+str(z-box.minz - 0.5) + ' {' + armorstandNBT + '}}';
                    else:
                        entitycommands += ',{id:commandblock_minecart,Command:summon ' + str(e['id'].value) + ' ~'+str(x-box.minx+1 - 0.5)+' ~'+str(y-box.miny-3)+' ~'+str(z-box.minz - 0.5)+'}'
                    # blocks.append('summon ' + str(e['id'].value) + ' ~'+str(x-box.minx+1 - 0.5)+' ~'+str(y-box.miny-3)+' ~'+str(z-box.minz - 0.5))
                    # isFill.append('true')
                    # posx.append(0)
                    # posy.append(0)
                    # posz.append(0)
    
        for y in xrange(box.miny, box.maxy):
            for x in xrange(box.minx, box.maxx):
                for z in xrange(box.minz, box.maxz):
                    if level.blockAt(x, y, z) != 0 and '&'+str(x)+','+str(y)+','+str(z)+'&' not in groupedblocks:
                        # Optimize by using /fill wherever it can
                        tryGroup = checkAround(x, y, z, level, box)
                        if len(tryGroup) > 0:
                            # Was able to group nearby blocks
    
                            # Adds the name and damage of the block, for example: 'quartz_block 2'
                            curblock = idToName(level.blockAt(x, y, z))
    
                            if 'blocknotfound' not in curblock:
                                curdamage = str(level.blockDataAt(x, y, z))
    
                                blocks.append('fill ~'+str(tryGroup[0]-box.minx+1)+' ~'+str(tryGroup[1]-box.miny-3)+' ~'+str(tryGroup[2]-box.minz)+' ~'+str(tryGroup[3]-box.minx+1)+' ~'+str(tryGroup[4]-box.miny-3)+' ~'+str(tryGroup[5]-box.minz)+' ' +curblock + ' ' + curdamage)
                                isFill.append('true')
    
                                # Keeps the coordinates in parallel arrays
                                posx.append(0)
                                posy.append(0)
                                posz.append(0)
                        else:
                            # Wasn't able to group nearby blocks
    
                            # Adds the name and damage of the block, for example: 'quartz_block 2'
                            curblock = idToName(level.blockAt(x, y, z))
    
                            if 'blocknotfound' not in curblock:
                                curdamage = str(level.blockDataAt(x, y, z))
    
                                blocks.append(curblock + ' ' + curdamage)
                                isFill.append('false')
    
                                # Keeps the coordinates in parallel arrays
                                posx.append(x - box.minx)
                                posy.append(y - 3 - box.miny)
                                posz.append(z - box.minz)
    
                                groupedblocks = groupedblocks + '&'+str(x)+','+str(y)+','+str(z)+'&'
    
    
        initCmdStrings = []
        initCmdStrings.append('')
        currentCommand = 0
        armorStandPlaced = 'false'
    
        for i in range(0, len(depblocks)):
            blocks.append(depblocks[i]);
            isFill.append(depisFill[i]);
            posx.append(depposx[i]);
            posy.append(depposy[i]);
            posz.append(depposz[i]);
    
        for i in range(0, len(blocks)):
            if isFill[i] == 'false':
                if len(initCmdStrings[currentCommand] + ',{id:"commandblock_minecart",Command:"setblock ~'+str(posx[i]+1)+' ~'+str(posy[i])+' ~'+str(posz[i])+' '+blocks[i]+'"}') + 528 > 32300:
                    currentCommand = currentCommand + 1
                    initCmdStrings.append('')
                    if armorStandPlaced == 'false':
                        initCmdStrings[0] = initCmdStrings[0] + ',{id:"commandblock_minecart",Command:"summon armor_stand ~ ~-3 ~ {CustomName:STRCMD,NoGravity:1,Marker:1,Invisible:1}"}'
                        armorStandPlaced = 'true'
                initCmdStrings[currentCommand] = initCmdStrings[currentCommand] + ',{id:"commandblock_minecart",Command:"setblock ~'+str(posx[i]+1)+' ~'+str(posy[i])+' ~'+str(posz[i])+' '+blocks[i]+'"}'
            else:
                if len(initCmdStrings[currentCommand] + ',{id:"commandblock_minecart",Command:"'+blocks[i]+'"}') + 528 > 32300:
                    currentCommand = currentCommand + 1
                    initCmdStrings.append('')
                    if armorStandPlaced == 'false':
                        initCmdStrings[0] = initCmdStrings[0] + ',{id:"commandblock_minecart",Command:"summon armor_stand ~ ~-3 ~ {CustomName:"STRCMD",NoGravity:1,Marker:1,Invisible:1}"}'
                        armorStandPlaced = 'true'
                initCmdStrings[currentCommand] = initCmdStrings[currentCommand] + ',{id:"commandblock_minecart",Command:"'+blocks[i]+'"}'
    
            if i == len(blocks) - 1:
                initCmdStrings[currentCommand] = initCmdStrings[currentCommand] + ',{id:"commandblock_minecart",Command:"kill @e[type=armor_stand,name=STRCMD]"}'
    
        cmds = []
        # This puts the initCmdStrings each into their own final command.
        # The final commands are all in the cmds[] array
        executeForMult = ''
        appendEntityCmds = ''
        for i in range(0, len(initCmdStrings)):
            if i > 0:
                executeForMult = 'execute @e[type=armor_stand,name=STRCMD] ~ ~ ~ '
            else:
                executeForMult = ''
    
            if i == 0:
            	appendEntityCmds = entitycommands
            else:
            	appendEntityCmds = ''
    
            # Regular
            cmds.append(executeForMult + 'summon falling_block ~ ~1 ~ {Block:"minecraft:stone",Time:1,Passengers:[{id:"falling_block",Block:"minecraft:redstone_block",Time:1,Passengers:[{id:"falling_block",Block:"minecraft:activator_rail",Time:1,Passengers:[{id:"commandblock_minecart",Command:"gamerule commandBlockOutput false"}' + initCmdStrings[i] + appendEntityCmds + ',{id:"commandblock_minecart",Command:"setblock ~ ~ ~1 command_block 0 replace {Command:"fill ~ ~-2 ~-1 ~ ~ ~ air"}"},{id:"commandblock_minecart",Command:"setblock ~ ~-1 ~1 redstone_block"},{id:"commandblock_minecart",Command:"kill @e[type=commandblock_minecart,r=1]"}]}]}]}')
    
        # Generate schematic
        editor = inspect.stack()[1][0].f_locals.get('self', None).editor
    
        schematic = MCSchematic((1,1,(len(cmds) * 2) - 1), mats = level.materials)
     
        for i in range(0, len(cmds)):
            schematic.setBlockAt(0, 0, i * 2, 137)
            #schematic.setBlockAt(0, 0, i * 2, 63)
            #schematic.setBlockDataAt(0, 0, i * 2, 4)
            #signcontrol = signBlockTileEntity(2, str(i + 1), 0, 0, i * 2)
            control = cmdBlockTileEntity(cmds[i], 0, 0, i * 2)
            schematic.TileEntities.append(control)
            #schematic.TileEntities.append(signcontrol)
     
        editor.addCopiedSchematic(schematic)
    
    names = {"0": "air",
            "1": "stone",
            "2": "grass",
            "3": "dirt",
            "4": "cobblestone",
            "5": "planks",
            "6": "sapling",
            "7": "bedrock",
            "8": "flowing_water",
            "9": "water",
            "10": "flowing_lava",
            "11": "lava",
            "12": "sand",
            "13": "gravel",
            "14": "gold_ore",
            "15": "iron_ore",
            "16": "coal_ore",
            "17": "log",
            "18": "leaves",
            "19": "sponge",
            "20": "glass",
            "21": "lapis_ore",
            "22": "lapis_block",
            "23": "dispenser",
            "24": "sandstone",
            "25": "noteblock",
            "26": "bed",
            "27": "golden_rail",
            "28": "detector_rail",
            "29": "sticky_piston",
            "30": "web",
            "31": "tallgrass",
            "32": "deadbush",
            "33": "piston",
            "34": "piston_head",
            "35": "wool",
            "36": "piston_extension",
            "37": "yellow_flower",
            "38": "red_flower",
            "39": "brown_mushroom",
            "40": "red_mushroom",
            "41": "gold_block",
            "42": "iron_block",
            "43": "double_stone_slab",
            "44": "stone_slab",
            "45": "brick_block",
            "46": "tnt",
            "47": "bookshelf",
            "48": "mossy_cobblestone",
            "49": "obsidian",
            "50": "torch",
            "51": "fire",
            "52": "mob_spawner",
            "53": "oak_stairs",
            "54": "chest",
            "55": "redstone_wire",
            "56": "diamond_ore",
            "57": "diamond_block",
            "58": "crafting_table",
            "59": "wheat",
            "60": "farmland",
            "61": "furnace",
            "62": "lit_furnace",
            "63": "standing_sign",
            "64": "wooden_door",
            "65": "ladder",
            "66": "rail",
            "67": "stone_stairs",
            "68": "wall_sign",
            "69": "lever",
            "70": "stone_pressure_plate",
            "71": "iron_door",
            "72": "wooden_pressure_plate",
            "73": "redstone_ore",
            "74": "lit_redstone_ore",
            "75": "unlit_redstone_torch",
            "76": "redstone_torch",
            "77": "stone_button",
            "78": "snow_layer",
            "79": "ice",
            "80": "snow",
            "81": "cactus",
            "82": "clay",
            "83": "reeds",
            "84": "jukebox",
            "85": "fence",
            "86": "pumpkin",
            "87": "netherrack",
            "88": "soul_sand",
            "89": "glowstone",
            "90": "portal",
            "91": "lit_pumpkin",
            "92": "cake",
            "93": "unpowered_repeater",
            "94": "powered_repeater",
            "95": "stained_glass",
            "96": "trapdoor",
            "97": "monster_egg",
            "98": "stonebrick",
            "99": "brown_mushroom_block",
            "100": "red_mushroom_block",
            "101": "iron_bars",
            "102": "glass_pane",
            "103": "melon_block",
            "104": "pumpkin_stem",
            "105": "melon_stem",
            "106": "vine",
            "107": "fence_gate",
            "108": "brick_stairs",
            "109": "stone_brick_stairs",
            "110": "mycelium",
            "111": "waterlily",
            "112": "nether_brick",
            "113": "nether_brick_fence",
            "114": "nether_brick_stairs",
            "115": "nether_wart",
            "116": "enchanting_table",
            "117": "brewing_stand",
            "118": "cauldron",
            "119": "end_portal",
            "120": "end_portal_frame",
            "121": "end_stone",
            "122": "dragon_egg",
            "123": "redstone_lamp",
            "124": "lit_redstone_lamp",
            "125": "double_wooden_slab",
            "126": "wooden_slab",
            "127": "cocoa",
            "128": "sandstone_stairs",
            "129": "emerald_ore",
            "130": "ender_chest",
            "131": "tripwire_hook",
            "132": "tripwire",
            "133": "emerald_block",
            "134": "spruce_stairs",
            "135": "birch_stairs",
            "136": "jungle_stairs",
            "137": "command_block",
            "138": "beacon",
            "139": "cobblestone_wall",
            "140": "flower_pot",
            "141": "carrots",
            "142": "potatoes",
            "143": "wooden_button",
            "144": "skull",
            "145": "anvil",
            "146": "trapped_chest",
            "147": "light_weighted_pressure_plate",
            "148": "heavy_weighted_pressure_plate",
            "149": "unpowered_comparator",
            "150": "powered_comparator",
            "151": "daylight_detector",
            "152": "redstone_block",
            "153": "quartz_ore",
            "154": "hopper",
            "155": "quartz_block",
            "156": "quartz_stairs",
            "157": "activator_rail",
            "158": "dropper",
            "159": "stained_hardened_clay",
            "160": "stained_glass_pane",
            "161": "leaves2",
            "162": "log2",
            "163": "acacia_stairs",
            "164": "dark_oak_stairs",
            "165": "slime",
            "166": "barrier",
            "167": "iron_trapdoor",
            "168": "prismarine",
            "169": "sea_lantern",
            "170": "hay_block",
            "171": "carpet",
            "172": "hardened_clay",
            "173": "coal_block",
            "174": "packed_ice",
            "175": "double_plant",
            "176": "standing_banner",
            "177": "wall_banner",
            "178": "daylight_detector_inverted",
            "179": "red_sandstone",
            "180": "red_sandstone_stairs",
            "181": "stone_slab2",
            "182": "double_stone_slab2",
            "183": "spruce_fence_gate",
            "184": "birch_fence_gate",
            "185": "jungle_fence_gate",
            "186": "dark_oak_fence_gate",
            "187": "acacia_fence_gate",
            "188": "spruce_fence",
            "189": "birch_fence",
            "190": "jungle_fence",
            "191": "dark_oak_fence",
            "192": "acacia_fence",
            "193": "spruce_door",
            "194": "birch_door",
            "195": "jungle_door",
            "196": "acacia_door",
            "197": "dark_oak_door",
            "198": "end_rod",
            "199": "chorus_plant",
            "200": "chorus_flower",
            "201": "purpur_block",
            "202": "purpur_pillar",
            "203": "purpur_stairs",
            "204": "purpur_double_slab",
            "205": "purpur_slab",
            "206": "end_bricks",
            "208": "grass_path",
            "209": "end_gateway",
            "210": "repeating_command_block",
            "211": "chain_command_block",
            "212": "frosted_ice",
            "215": "mrg_watermark",
            "255": "structure_block",
    }


    Now, locate your mcedit filters folder, (Usualy in documents/MCEdit/Filters) and make a new text document.

    open the text document and paste in all the code. then hover over the file deal in the upper left corner, and click save as.

    click the dropdown on the bottom of the file window and click "All files". and BEFORE you save, name it whatever you want, but at the end of the file it MUST say ".py", it may sat .txt, if it does, backspace that. then save and launch mcedit and boom you are done!


    now you type the commands in game, and select the commands in mcedit, click filter, click command combiner 1.12, say filter, paste the block it saves to your clip board, save the changes, go into the game, open the command block you pasted, and hit "CTRL + A" then "CTRL + C" if you are on a mac, do cmd + a, cmd + c.

    Posted in: Mods Discussion
  • 0

    posted a message on Game crashes right when world loads up

    Try turning use vbos off :)

    tell me what happenes :)

    Posted in: Java Edition Support
  • 0

    posted a message on My client won't launch the game...
    Quote from CyZer0»

    The launcher don't launch the game: it just says the game has crashed.

    Here's the crash report:
    http://paste.ubuntu.com/24545737/plain/


    You need to do one of two things:
    1 Update your graphics,
    2 get a new graphics card
    if you are on a laptop, your only option is 1, i know this bug cuz i was having it myself (:
    Posted in: Java Edition Support
  • 0

    posted a message on My client won't launch the game...

    please use a website like pastebin, one that you don't have to sign up to look at

    Posted in: Java Edition Support
  • 0

    posted a message on [Help] My model just renders as a pink block! PLEASE PUT BACK IN UNMODIFIED HELP (NOT MODDING OR MOD DEVELOPMENT.)

    Okay, so i was working on this model for hours, and to test, i replaced an item temporarily with this model, it only renders as a pink block, weather in block or item!


    {
        "__comment": "Model generated using MrCrayfish's Model Creator (http://mrcrayfish.com/modelcreator/)",
        "textures": {
            "0": "items/tardistexit"
        },
        "elements": [
            {
                "name": "Cube",
                "from": [ -3.0, 0.0, -3.0 ], 
                "to": [ 19.0, 1.0, 19.0 ], 
                "faces": {
                    "north": { "texture": "#0", "uv": [ 5.5, 0.3, 9.4, 1.0 ] },
                    "east": { "texture": "#0", "uv": [ 5.5, 0.3, 9.4, 1.0 ] },
                    "south": { "texture": "#0", "uv": [ 5.5, 0.3, 9.4, 1.0 ] },
                    "west": { "texture": "#0", "uv": [ 5.6, 0.3, 9.4, 1.0 ] },
                    "up": { "texture": "#0", "uv": [ 5.6, 0.3, 9.4, 4.0 ] },
                    "down": { "texture": "#0", "uv": [ 5.6, 0.3, 9.4, 4.0 ] }
                }
            },
            {
                "name": "Cube",
                "from": [ -1.0, 1.0, -1.0 ], 
                "to": [ 17.0, 29.0, 17.0 ], 
                "faces": {
                    "north": { "texture": "#0", "uv": [ 4.5, 7.7, 9.0, 15.5 ] },
                    "east": { "texture": "#0", "uv": [ 0.0, 7.7, 4.5, 15.5 ] },
                    "south": { "texture": "#0", "uv": [ 0.0, 7.7, 4.5, 15.5 ] },
                    "west": { "texture": "#0", "uv": [ 0.0, 7.7, 4.5, 15.5 ] },
                    "up": { "texture": "#0", "uv": [ 0.0, 0.0, 16.0, 16.0 ] },
                    "down": { "texture": "#0", "uv": [ 0.0, 0.0, 16.0, 16.0 ] }
                }
            },
            {
                "name": "Cube",
                "from": [ -2.0, 29.0, -2.0 ], 
                "to": [ 18.0, 32.0, 18.0 ], 
                "faces": {
                    "north": { "texture": "#0", "uv": [ 8.0, 5.3, 14.0, 5.9 ] },
                    "east": { "texture": "#0", "uv": [ 8.0, 5.3, 14.0, 5.9 ] },
                    "south": { "texture": "#0", "uv": [ 8.0, 5.3, 14.0, 5.9 ] },
                    "west": { "texture": "#0", "uv": [ 8.0, 5.3, 14.0, 5.9 ] },
                    "up": { "texture": "#0", "uv": [ 10.9, 0.5, 15.3, 4.8 ] },
                    "down": { "texture": "#0", "uv": [ 10.9, 0.5, 15.3, 4.3 ] }
                }
            },
            {
                "name": "Cube",
                "from": [ 7.0, 32.0, 7.0 ], 
                "to": [ 9.0, 35.0, 9.0 ], 
                "faces": {
                    "north": { "texture": "#0", "uv": [ 12.5, 12.0, 12.6, 12.5 ] },
                    "east": { "texture": "#0", "uv": [ 12.5, 12.0, 12.6, 12.1 ] },
                    "south": { "texture": "#0", "uv": [ 12.5, 12.0, 12.6, 12.1 ] },
                    "west": { "texture": "#0", "uv": [ 12.5, 12.0, 12.6, 12.1 ] },
                    "up": { "texture": "#0", "uv": [ 12.5, 12.0, 12.6, 12.1 ] }
                }
            },
            {
                "name": "Cube",
                "from": [ 0.0, 29.5, -2.5 ], 
                "to": [ 16.0, 31.5, -2.0 ], 
                "faces": {
                    "north": { "texture": "#0", "uv": [ 0.5, 5.2, 6.5, 6.0 ] },
                    "east": { "texture": "#0", "uv": [ 0.5, 5.2, 0.5, 6.0 ] },
                    "west": { "texture": "#0", "uv": [ 0.5, 5.2, 0.5, 6.0 ] },
                    "up": { "texture": "#0", "uv": [ 0.5, 5.2, 0.5, 6.0 ] },
                    "down": { "texture": "#0", "uv": [ 0.5, 5.2, 0.5, 6.0 ] }
                }
            }
        ]
    }





    Here is the texture, it is 1008 X 1008 (power of 16)

    Posted in: Modification Development
  • 0

    posted a message on [HELP] Minecraft Scoreboard Map Voting
    Quote from nigathan»

    Here is one way to determine which entity has the highest score:


    /scoreboard players add @e[tag=map] votes 0

    /scoreboard players set #placeHolder votes 0

    /scoreboard players remove @e[tag=map,score_votes=0] votes 1

    /execute @e[tag=map] ~ ~ ~ scoreboard players operation #placeHolder votes > @e[c=1] votes

    /execute @e[tag=map] ~ ~ ~ scoreboard players operation @e[c=1] votes -= #placeHolder votes

    /execute @e[tag=map,score_votes_min=0,score_votes=0] ~ ~ ~ me has been chosen!


    Tag each of the armor stands with "map" and set their CustomName tag to the name of the map they represent.


    This does not care if there was a tie.


    How it works is by first ensuring each option exists on the scoreboard (otherwise they will be considered a winner at the end).

    Creating a place holder player to store the highest score.

    Eliminate any options that received no votes.

    Assign the place holder's score to the highest score using the > operation.

    Subtract that same score from each of the options.

    Now whichever option(s) are left with a score of exactly 0 received the most votes.


    i don't exactly get it, can you show it in command blocks? it might help me, also does this tell me if two maps get the exact same score?
    Posted in: Commands, Command Blocks and Functions
  • 0

    posted a message on [HELP] Minecraft Scoreboard Map Voting

    i have thought of something like that but i don't know how i would detect if only one armor stand has a point, i could do it with redstone, but it is to fast for the redstone to update, i would just use a slow clock with impulse command blocks, but i want it to be fast.

    Posted in: Commands, Command Blocks and Functions
  • To post a comment, please or register a new account.