diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d392f0e --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.jar diff --git a/31/diffIds.txt b/31/diffIds.txt new file mode 100644 index 0000000..1416d9e --- /dev/null +++ b/31/diffIds.txt @@ -0,0 +1,248 @@ +583 planksRotten +584 stairsRotten +585 rottenSlabSingle +586 rottenSlabDouble +587 fenceRotten +588 scorchedStone +589 scorchedSlabSingle +590 scorchedSlabDouble +591 stairsScorchedStone +592 scorchedWall +593 stairsLemon + > 594 lemonCake +595 stairsOrange +596 alloyForge +597 stairsLime +598 tauredainCraftingTable +599 brick4 + > 600 wallStone4 + > 601 slabSingle8 + > 602 slabDouble8 +603 stairsTauredainBrick +604 stairsTauredainBrickMossy +605 stairsTauredainBrickCracked +606 stairsTauredainBrickGold +607 stairsTauredainBrickObsidian +608 obsidianGravel + > 609 tauredainDartTrap +610 wood6 + > 611 leaves6 + > 612 sapling6 + > 613 woodSlabSingle4 + > 614 woodSlabDouble4 +615 stairsMahogany +616 mud +617 mudGrass + > 618 chestStone + > 619 spawnerChestStone +620 mudFarmland +621 stairsNearHaradBrickRed +622 stairsNearHaradBrickRedCracked +623 redSandstone +624 stairsRedSandstone +625 stairsDwarvenBrickCracked +626 pillar2 +627 hithlainLadder + > 628 reeds +629 stairsReed +630 tauredainDoubleTorch +631 woodBeamV1 +632 reedBars +633 woodBeamV2 +634 woodBeam1 + > 635 tauredainDartTrapGold + > 636 weaponRack + > 637 cornStalk +638 wasteBlock +639 stairsDwarvenBrickObsidian +640 dirtPath +641 stairsWillow +642 willowVines +643 woodBeam2 +644 woodBeamFruit +645 woodBeam3 +646 woodBeam4 +647 woodBeam5 +648 woodBeam6 +649 woodBeamRotten + > 650 gateWooden + > 651 gateIronBars + > 652 gateBronzeBars + > 653 gateWoodenCross + > 654 gateOrc +655 stairsChalkBrick + > 656 slabSingle9 + > 657 slabDouble9 + > 658 gateElven + > 659 gateDwarven + > 660 gateGondor +661 pressurePlateChalk +662 buttonChalk + > 663 wallStoneV +664 stairsStoneBrickMossy +665 stairsStoneBrickCracked + > 666 slabSingleV + > 667 slabDoubleV +668 stairsStone +669 stairsMordorRock +670 stairsGondorRock +671 stairsRohanRock +672 stairsBlueRock +673 stairsRedRock +674 stairsChalk + > 675 gateHighElven + > 676 gateWoodElven + > 677 gateNearHarad +678 clayTile +679 clayTileDyed + > 680 slabClayTileSingle + > 681 slabClayTileDouble + > 682 slabClayTileDyedSingle + > 683 slabClayTileDyedDouble + > 684 slabClayTileDyedSingle2 + > 685 slabClayTileDyedDouble2 +686 stairsClayTile +687 stairsClayTileDyedWhite +688 stairsClayTileDyedOrange +689 stairsClayTileDyedMagenta +690 stairsClayTileDyedLightBlue +691 stairsClayTileDyedYellow +692 stairsClayTileDyedLime +693 stairsClayTileDyedPink +694 stairsClayTileDyedGray +695 stairsClayTileDyedLightGray +696 stairsClayTileDyedCyan +697 stairsClayTileDyedPurple +698 stairsClayTileDyedBlue +699 stairsClayTileDyedBrown +700 stairsClayTileDyedGreen +701 stairsClayTileDyedRed +702 stairsClayTileDyedBlack +703 wargFurBed + > 704 slabUtumnoSingle + > 705 slabUtumnoDouble +706 stairsUtumnoBrickFire +707 stairsUtumnoBrickIce +708 stairsUtumnoBrickObsidian + > 709 wallUtumno + > 710 kebabStand + > 711 kebabStandSand + > 712 gateTauredain + > 713 gateDolAmroth + > 714 gateUruk + > 715 gateSilver + > 716 gateGold + > 717 gateMithril +718 brick5 +719 stairsMudBrick + > 720 leek + > 721 turnip +722 stairsDaleBrick +723 stairsDorwinionBrick + > 724 daleCraftingTable + > 725 dorwinionCraftingTable +726 stairsCypress +727 stairsOlive + > 728 slabSingle10 + > 729 slabDouble10 + > 730 hobbitCraftingTable + > 731 gateHobbitGreen + > 732 gateHobbitBlue + > 733 gateHobbitRed + > 734 gateHobbitYellow + > 735 driedReeds + > 736 redBrick + > 737 stairsBrickMossy + > 738 stairsBrickCracked + > 739 grapevine + > 740 grapevineRed + > 741 grapevineWhite + > 742 stairsDorwinionBrickMossy + > 743 stairsDorwinionBrickCracked + > 744 stairsDorwinionBrickFlowers +745 wood7 + > 746 leaves7 + > 747 sapling7 +748 woodBeam7 + > 749 stairsAspen + > 750 mirkVines + > 751 stairsGreenOak + > 752 stairsLairelosse + > 753 stairsAlmond + > 754 slabSingleDirt + > 755 slabDoubleDirt + > 756 slabSingleSand + > 757 slabDoubleSand + > 758 slabSingleGravel + > 759 slabDoubleGravel + > 760 morgulFlower + > 761 blackroot +762 wood8 + > 763 leaves8 + > 764 sapling8 + > 765 planks3 + > 766 fence3 + > 767 woodSlabSingle5 + > 768 woodSlabDouble5 +769 woodBeam8 + > 770 stairsPlum + > 771 fallenLeavesLOTR3 + > 772 stairsGondorBrickRustic + > 773 stairsGondorBrickRusticMossy + > 774 stairsGondorBrickRusticCracked + > 775 slabSingle11 + > 776 slabDouble11 + > 777 whiteSand + > 778 whiteSandstone + > 779 stairsWhiteSandstone + > 780 treasureCopper + > 781 treasureSilver + > 782 treasureGold + > 783 chestLebethron + > 784 chestBasket + > 785 marigold + > 786 rhunFlower + > 787 chestMallorn + > 788 stairsCobblestoneMossy + > 789 marzipanBlock + > 790 mallornTorchBlue + > 791 mallornTorchGold + > 792 mallornTorchGreen + > 793 wallClayTile + > 794 wallClayTileDyed + > 795 ceramicMug + > 796 gobletGold + > 797 gobletSilver + > 798 gobletCopper + > 799 gobletWood + > 800 skullCup + > 801 wineGlass + > 802 glassBottle + > 803 aleHorn + > 804 aleHornGold + > 805 woodBeamS + > 806 birdCage + > 807 birdCageWood + > 808 gateRohan + > 809 signCarved + > 810 signCarvedIthildin + > 811 dwarvenDoorIthildin + > 812 smoothStoneV + > 813 smoothStone + > 814 slabSingle12 + > 815 slabDouble12 + > 816 stairsRhunBrick + > 817 stairsRhunBrickMossy + > 818 stairsRhunBrickCracked + > 819 stairsRhunBrickFlowers +820 brick6 + > 821 rhunCraftingTable + > 822 stairsRhunBrickRed + > 823 stairsRedwood + > 824 rhunFire + > 825 rhunFireJar + > 826 daub + > 827 gateRhun + > 828 yam + > 829 kebabBlock + > 830 stairsPomegranate diff --git a/31/level.dat b/31/level.dat new file mode 100644 index 0000000..99d5c6d Binary files /dev/null and b/31/level.dat differ diff --git a/31/lotr31.blocks.id.txt b/31/lotr31.blocks.id.txt new file mode 100644 index 0000000..4dd8b17 --- /dev/null +++ b/31/lotr31.blocks.id.txt @@ -0,0 +1,501 @@ +165 rock +166 oreCopper +167 oreTin +168 oreSilver +169 oreMithril +176 beacon +177 simbelmyne +178 wood +179 leaves +180 planks +181 sapling +182 woodSlabSingle +183 woodSlabDouble +184 stairsPine +185 shireHeather +186 brick +187 appleCrumble +188 hobbitOven +189 oreStorage +190 oreNaurite +191 oreMorgulIron +192 morgulCraftingTable +193 chandelier +194 pipeweedPlant +195 pipeweed +196 slabSingle +197 slabDouble +198 stairsMordorBrick +199 stairsGondorBrick +200 wallStone +201 barrel +202 lettuce +203 orcBomb +204 orcTorch +205 elanor +206 niphredil +207 stairsMallorn +208 elvenCraftingTable +209 mobSpawner +210 mallornLadder +211 plate +212 orcSteelBars +213 stairsGondorBrickMossy +214 stairsGondorBrickCracked +215 athelas +216 stalactite +217 stairsRohanBrick +218 oreQuendite +219 mallornTorch +220 spawnerChest +221 quenditeGrass +222 pressurePlateMordorRock +223 pressurePlateGondorRock +224 buttonMordorRock +225 buttonGondorRock +226 elvenPortal +227 flowerPot +228 stairsDwarvenBrick +229 elvenBed +230 pillar +231 oreGlowstone +232 fruitWood +233 fruitLeaves +234 fruitSapling +235 stairsApple +236 stairsPear +237 stairsCherry +238 dwarvenCraftingTable +239 bluebell +240 dwarvenForge +241 hearth +242 morgulShroom +243 urukCraftingTable +244 cherryPie +245 clover +246 slabSingle2 +247 slabDouble2 +248 stairsMirkOak +249 webUngoliant +250 woodElvenCraftingTable +251 woodElvenBed +252 gondorianCraftingTable +253 woodElvenTorch +254 marshLights +255 rohirricCraftingTable +409 pressurePlateRohanRock +410 remains +411 deadMarshPlant +412 oreGulduril +413 guldurilBrick +414 dwarvenDoor +415 stairsCharred +416 dwarvenBed +423 morgulPortal +424 armorStand +425 buttonRohanRock +426 asphodel +427 wood2 +428 leaves2 +429 sapling2 +430 stairsLebethron +431 woodSlabSingle2 +432 woodSlabDouble2 +433 dwarfHerb +434 mug +435 dunlendingCraftingTable +436 stairsBeech +437 entJar +438 mordorThorn +439 mordorMoss +440 stairsMordorBrickCracked +441 orcForge +442 trollTotem +443 orcBed +444 stairsElvenBrick +445 stairsElvenBrickMossy +446 stairsElvenBrickCracked +447 stairsHolly +448 pressurePlateBlueRock +449 buttonBlueRock +450 slabSingle3 +451 slabDouble3 +452 stairsBlueRockBrick +453 fence +454 doubleFlower +455 oreSulfur +456 oreSaltpeter +457 quagmire +458 angmarCraftingTable +459 brick2 +460 wallStone2 +461 stairsAngmarBrick +462 stairsAngmarBrickCracked +463 stairsMango +464 stairsBanana +465 banana +466 bananaCake +467 lionBed +468 wood3 +469 leaves3 +470 sapling3 +471 stairsMaple +472 stairsLarch +473 nearHaradCraftingTable +474 highElvenCraftingTable +475 highElvenTorch +476 highElvenBed +477 pressurePlateRedRock +478 buttonRedRock +479 stairsRedRockBrick +480 slabSingle4 +481 slabDouble4 +482 stairsNearHaradBrick +483 stairsDatePalm +484 date +485 blueDwarvenCraftingTable +486 goran +487 thatch +488 slabSingleThatch +489 slabDoubleThatch +490 stairsThatch +491 fangornPlant +492 fangornRiverweed +493 morgulTorch +494 rangerCraftingTable +495 stairsArnorBrick +496 stairsArnorBrickMossy +497 stairsArnorBrickCracked +498 stairsUrukBrick +499 strawBed +500 stairsDolGuldurBrick +501 stairsDolGuldurBrickCracked +502 dolGuldurCraftingTable +503 fallenLeaves +504 fallenLeavesLOTR +505 gundabadCraftingTable +506 thatchFloor +507 dalishPastry +508 aridGrass +509 termiteMound +510 utumnoBrick +511 utumnoPortal +512 utumnoPillar +513 slabSingle5 +514 slabDouble5 +515 stairsMangrove +516 tallGrass +517 haradFlower +518 flaxPlant +519 flax +520 berryBush +521 planks2 +522 fence2 +523 woodSlabSingle3 +524 woodSlabDouble3 +525 wood4 +526 leaves4 +527 sapling4 +528 stairsChestnut +529 stairsBaobab +530 fallenLeavesLOTR2 +531 stairsCedar +532 rottenLog +533 oreStorage2 +534 mordorGrass +535 mordorDirt +536 mordorGravel +537 utumnoReturnPortal +538 utumnoReturnLight +539 utumnoReturnPortalBase +540 commandTable +541 halfTrollCraftingTable +542 butterflyJar +543 berryPie +544 stairsBlackGondorBrick +545 brick3 +546 wallStone3 +547 slabSingle6 +548 slabDouble6 +549 stairsHighElvenBrick +550 stairsHighElvenBrickMossy +551 stairsHighElvenBrickCracked +552 stairsWoodElvenBrick +553 stairsWoodElvenBrickMossy +554 stairsWoodElvenBrickCracked +555 elvenForge +556 dolAmrothCraftingTable +557 stairsDolAmrothBrick +558 stairsFir +559 wood5 +560 leaves5 +561 sapling5 +562 stairsPinePine +563 moredainCraftingTable +564 slabSingle7 +565 slabDouble7 +566 stairsMoredainBrick +567 stairsNearHaradBrickCracked +568 unsmeltery +569 bronzeBars +570 goldBars +571 silverBars +572 mithrilBars +573 urukBars +574 highElfBars +575 galadhrimBars +576 woodElfBars +577 dwarfBars +578 blueDwarfBars +579 highElfWoodBars +580 galadhrimWoodBars +581 woodElfWoodBars +582 corruptMallorn +583 planksRotten +584 stairsRotten +585 rottenSlabSingle +586 rottenSlabDouble +587 fenceRotten +588 scorchedStone +589 scorchedSlabSingle +590 scorchedSlabDouble +591 stairsScorchedStone +592 scorchedWall +593 stairsLemon +594 lemonCake +595 stairsOrange +596 alloyForge +597 stairsLime +598 tauredainCraftingTable +599 brick4 +600 wallStone4 +601 slabSingle8 +602 slabDouble8 +603 stairsTauredainBrick +604 stairsTauredainBrickMossy +605 stairsTauredainBrickCracked +606 stairsTauredainBrickGold +607 stairsTauredainBrickObsidian +608 obsidianGravel +609 tauredainDartTrap +610 wood6 +611 leaves6 +612 sapling6 +613 woodSlabSingle4 +614 woodSlabDouble4 +615 stairsMahogany +616 mud +617 mudGrass +618 chestStone +619 spawnerChestStone +620 mudFarmland +621 stairsNearHaradBrickRed +622 stairsNearHaradBrickRedCracked +623 redSandstone +624 stairsRedSandstone +625 stairsDwarvenBrickCracked +626 pillar2 +627 hithlainLadder +628 reeds +629 stairsReed +630 tauredainDoubleTorch +631 woodBeamV1 +632 reedBars +633 woodBeamV2 +634 woodBeam1 +635 tauredainDartTrapGold +636 weaponRack +637 cornStalk +638 wasteBlock +639 stairsDwarvenBrickObsidian +640 dirtPath +641 stairsWillow +642 willowVines +643 woodBeam2 +644 woodBeamFruit +645 woodBeam3 +646 woodBeam4 +647 woodBeam5 +648 woodBeam6 +649 woodBeamRotten +650 gateWooden +651 gateIronBars +652 gateBronzeBars +653 gateWoodenCross +654 gateOrc +655 stairsChalkBrick +656 slabSingle9 +657 slabDouble9 +658 gateElven +659 gateDwarven +660 gateGondor +661 pressurePlateChalk +662 buttonChalk +663 wallStoneV +664 stairsStoneBrickMossy +665 stairsStoneBrickCracked +666 slabSingleV +667 slabDoubleV +668 stairsStone +669 stairsMordorRock +670 stairsGondorRock +671 stairsRohanRock +672 stairsBlueRock +673 stairsRedRock +674 stairsChalk +675 gateHighElven +676 gateWoodElven +677 gateNearHarad +678 clayTile +679 clayTileDyed +680 slabClayTileSingle +681 slabClayTileDouble +682 slabClayTileDyedSingle +683 slabClayTileDyedDouble +684 slabClayTileDyedSingle2 +685 slabClayTileDyedDouble2 +686 stairsClayTile +687 stairsClayTileDyedWhite +688 stairsClayTileDyedOrange +689 stairsClayTileDyedMagenta +690 stairsClayTileDyedLightBlue +691 stairsClayTileDyedYellow +692 stairsClayTileDyedLime +693 stairsClayTileDyedPink +694 stairsClayTileDyedGray +695 stairsClayTileDyedLightGray +696 stairsClayTileDyedCyan +697 stairsClayTileDyedPurple +698 stairsClayTileDyedBlue +699 stairsClayTileDyedBrown +700 stairsClayTileDyedGreen +701 stairsClayTileDyedRed +702 stairsClayTileDyedBlack +703 wargFurBed +704 slabUtumnoSingle +705 slabUtumnoDouble +706 stairsUtumnoBrickFire +707 stairsUtumnoBrickIce +708 stairsUtumnoBrickObsidian +709 wallUtumno +710 kebabStand +711 kebabStandSand +712 gateTauredain +713 gateDolAmroth +714 gateUruk +715 gateSilver +716 gateGold +717 gateMithril +718 brick5 +719 stairsMudBrick +720 leek +721 turnip +722 stairsDaleBrick +723 stairsDorwinionBrick +724 daleCraftingTable +725 dorwinionCraftingTable +726 stairsCypress +727 stairsOlive +728 slabSingle10 +729 slabDouble10 +730 hobbitCraftingTable +731 gateHobbitGreen +732 gateHobbitBlue +733 gateHobbitRed +734 gateHobbitYellow +735 driedReeds +736 redBrick +737 stairsBrickMossy +738 stairsBrickCracked +739 grapevine +740 grapevineRed +741 grapevineWhite +742 stairsDorwinionBrickMossy +743 stairsDorwinionBrickCracked +744 stairsDorwinionBrickFlowers +745 wood7 +746 leaves7 +747 sapling7 +748 woodBeam7 +749 stairsAspen +750 mirkVines +751 stairsGreenOak +752 stairsLairelosse +753 stairsAlmond +754 slabSingleDirt +755 slabDoubleDirt +756 slabSingleSand +757 slabDoubleSand +758 slabSingleGravel +759 slabDoubleGravel +760 morgulFlower +761 blackroot +762 wood8 +763 leaves8 +764 sapling8 +765 planks3 +766 fence3 +767 woodSlabSingle5 +768 woodSlabDouble5 +769 woodBeam8 +770 stairsPlum +771 fallenLeavesLOTR3 +772 stairsGondorBrickRustic +773 stairsGondorBrickRusticMossy +774 stairsGondorBrickRusticCracked +775 slabSingle11 +776 slabDouble11 +777 whiteSand +778 whiteSandstone +779 stairsWhiteSandstone +780 treasureCopper +781 treasureSilver +782 treasureGold +783 chestLebethron +784 chestBasket +785 marigold +786 rhunFlower +787 chestMallorn +788 stairsCobblestoneMossy +789 marzipanBlock +790 mallornTorchBlue +791 mallornTorchGold +792 mallornTorchGreen +793 wallClayTile +794 wallClayTileDyed +795 ceramicMug +796 gobletGold +797 gobletSilver +798 gobletCopper +799 gobletWood +800 skullCup +801 wineGlass +802 glassBottle +803 aleHorn +804 aleHornGold +805 woodBeamS +806 birdCage +807 birdCageWood +808 gateRohan +809 signCarved +810 signCarvedIthildin +811 dwarvenDoorIthildin +812 smoothStoneV +813 smoothStone +814 slabSingle12 +815 slabDouble12 +816 stairsRhunBrick +817 stairsRhunBrickMossy +818 stairsRhunBrickCracked +819 stairsRhunBrickFlowers +820 brick6 +821 rhunCraftingTable +822 stairsRhunBrickRed +823 stairsRedwood +824 rhunFire +825 rhunFireJar +826 daub +827 gateRhun +828 yam +829 kebabBlock +830 stairsPomegranate diff --git a/31/lotr31.blocks.textures.txt b/31/lotr31.blocks.textures.txt new file mode 100644 index 0000000..2a54645 --- /dev/null +++ b/31/lotr31.blocks.textures.txt @@ -0,0 +1,1355 @@ +alloyForge_active.png +alloyForge_front.png +alloyForge_side.png +alloyForge_top.png +angmarCraftingTable_side.png +angmarCraftingTable_top.png +appleCrumble_bottom.png +appleCrumble_inner.png +appleCrumble_side.png +appleCrumble_top.png +aridGrass.png +asphodel.png +athelas.png +banana_bottom.png +bananaCake_bottom.png +bananaCake_inner.png +bananaCake_side.png +bananaCake_top.png +banana_side.png +banana_top.png +barrel_side.png +barrel_tap.png +barrel_top.png +berryBush_blackberry_bare.png +berryBush_blackberry.png +berryBush_blueberry_bare.png +berryBush_blueberry.png +berryBush_cranberry_bare.png +berryBush_cranberry.png +berryBush_elderberry_bare.png +berryBush_elderberry.png +berryBush_raspberry_bare.png +berryBush_raspberry.png +berryBush_wildberry_bare.png +berryBush_wildberry.png +berryPie_bottom.png +berryPie_inner.png +berryPie_side.png +berryPie_top.png +birdCage_bronze_base.png +birdCage_bronze_side.png +birdCage_bronze_top.png +birdCage_gold_base.png +birdCage_gold_side.png +birdCage_gold_top.png +birdCage_iron_base.png +birdCage_iron_side.png +birdCage_iron_top.png +birdCage_silver_base.png +birdCage_silver_side.png +birdCage_silver_top.png +birdCageWood_wood_base.png +birdCageWood_wood_side.png +birdCageWood_wood_top.png +blackroot.png +bluebell.png +blueDwarfBars.png +blueDwarvenCraftingTable_side.png +blueDwarvenCraftingTable_top.png +brick2_angmarCracked.png +brick2_angmar.png +brick2_arnorCarved.png +brick2_arnorCracked.png +brick2_arnorMossy.png +brick2_arnor.png +brick2_blackGondor.png +brick2_dolGuldurCracked.png +brick2_dolGuldur.png +brick2_dwarvenCarved.png +brick2_galadhrimCarved.png +brick2_highElvenCarved.png +brick2_mordorCarved.png +brick2_redRock.png +brick2_uruk.png +brick2_woodElvenCarved.png +brick3_blueCarved.png +brick3_dolAmroth.png +brick3_dwarvenGlowing.png +brick3_highElvenCracked.png +brick3_highElvenMossy.png +brick3_highElven.png +brick3_moredain.png +brick3_nearHaradCarved.png +brick3_nearHaradCracked.png +brick3_nearHaradRedCarved.png +brick3_nearHaradRedCracked.png +brick3_nearHaradRed.png +brick3_redCarved.png +brick3_woodElvenCracked.png +brick3_woodElvenMossy.png +brick3_woodElven.png +brick4_blackGondorCarved.png +brick4_chalk.png +brick4_dwarvenCracked.png +brick4_dwarvenObsidian.png +brick4_galadhrimGold.png +brick4_galadhrimSilver.png +brick4_highElvenGold.png +brick4_highElvenSilver.png +brick4_nearHaradLapis.png +brick4_tauredainCracked.png +brick4_tauredainGold.png +brick4_tauredainMossy.png +brick4_tauredainObsidian.png +brick4_tauredain.png +brick4_woodElvenGold.png +brick4_woodElvenSilver.png +brick5_dale.png +brick5_dorwinionCarved.png +brick5_dorwinionCracked.png +brick5_dorwinionFlowers.png +brick5_dorwinionMossy.png +brick5_dorwinion.png +brick5_gondorRusticCracked.png +brick5_gondorRusticMossy.png +brick5_gondorRustic.png +brick5_mud.png +brick5_rhunCarved.png +brick5_rhunCracked.png +brick5_rhunFlowers.png +brick5_rhunMossy.png +brick5_rhun.png +brick5_rohanCarved.png +brick6_rhunGold.png +brick6_rhunRedCarved.png +brick6_rhunRed.png +brick_blueRock.png +brick_dwarvenGold_base.png +brick_dwarvenGold_bottomLeftInv.png +brick_dwarvenGold_bottomLeft.png +brick_dwarvenGold_bottom.png +brick_dwarvenGold_bottomRightInv.png +brick_dwarvenGold_bottomRight.png +brick_dwarvenGold_left.png +brick_dwarvenGold_right.png +brick_dwarvenGold_topLeftInv.png +brick_dwarvenGold_topLeft.png +brick_dwarvenGold_top.png +brick_dwarvenGold_topRightInv.png +brick_dwarvenGold_topRight.png +brick_dwarvenMithril_base.png +brick_dwarvenMithril_bottomLeftInv.png +brick_dwarvenMithril_bottomLeft.png +brick_dwarvenMithril_bottom.png +brick_dwarvenMithril_bottomRightInv.png +brick_dwarvenMithril_bottomRight.png +brick_dwarvenMithril_left.png +brick_dwarvenMithril_right.png +brick_dwarvenMithril_topLeftInv.png +brick_dwarvenMithril_topLeft.png +brick_dwarvenMithril_top.png +brick_dwarvenMithril_topRightInv.png +brick_dwarvenMithril_topRight.png +brick_dwarven.png +brick_dwarvenSilver_base.png +brick_dwarvenSilver_bottomLeftInv.png +brick_dwarvenSilver_bottomLeft.png +brick_dwarvenSilver_bottom.png +brick_dwarvenSilver_bottomRightInv.png +brick_dwarvenSilver_bottomRight.png +brick_dwarvenSilver_left.png +brick_dwarvenSilver_right.png +brick_dwarvenSilver_topLeftInv.png +brick_dwarvenSilver_topLeft.png +brick_dwarvenSilver_top.png +brick_dwarvenSilver_topRightInv.png +brick_dwarvenSilver_topRight.png +brick_galadhrimCracked.png +brick_galadhrimMossy.png +brick_galadhrim.png +brick_gondorCarved.png +brick_gondorCracked.png +brick_gondorMossy.png +brick_gondor.png +brick_mordorCracked.png +brick_mordor.png +brick_nearHarad.png +brick_rohan.png +bronzeBars.png +butterflyJar_glass.png +butterflyJar_lid.png +chandelier_blueDwarven.png +chandelier_bronze.png +chandelier_dwarven.png +chandelier_gold.png +chandelier_highElven.png +chandelier_iron.png +chandelier_mallornBlue.png +chandelier_mallornGold.png +chandelier_mallornGreen.png +chandelier_mallornSilver.png +chandelier_mithril.png +chandelier_morgul.png +chandelier_orc.png +chandelier_silver.png +chandelier_uruk.png +chandelier_woodElven.png +cherryPie_bottom.png +cherryPie_inner.png +cherryPie_side.png +cherryPie_top.png +clayTileDyed_black.png +clayTileDyed_blue.png +clayTileDyed_brown.png +clayTileDyed_cyan.png +clayTileDyed_gray.png +clayTileDyed_green.png +clayTileDyed_lightBlue.png +clayTileDyed_lime.png +clayTileDyed_magenta.png +clayTileDyed_orange.png +clayTileDyed_pink.png +clayTileDyed_purple.png +clayTileDyed_red.png +clayTileDyed_silver.png +clayTileDyed_white.png +clayTileDyed_yellow.png +clayTile.png +clover_petal.png +clover_stem.png +commandTable_side.png +commandTable_top.png +cornStalk_corn.png +cornStalk.png +corruptMallorn.png +daleCraftingTable_side.png +daleCraftingTable_top.png +dalishPastry_bottom.png +dalishPastry_inner.png +dalishPastry_side.png +dalishPastry_top.png +date_bottom.png +date_side.png +date_top.png +daub_base.png +daub_bottomLeftInv.png +daub_bottomLeft.png +daub_bottom.png +daub_bottomRightInv.png +daub_bottomRight.png +daub_left.png +daub_right.png +daub_topLeftInv.png +daub_topLeft.png +daub_top.png +daub_topRightInv.png +daub_topRight.png +deadMarshPlant.png +dirtPath.png +dolAmrothCraftingTable_side.png +dolAmrothCraftingTable_top.png +dolGuldurCraftingTable_side.png +dolGuldurCraftingTable_top.png +dorwinionCraftingTable_side.png +dorwinionCraftingTable_top.png +doubleFlower_blackIris_bottom.png +doubleFlower_blackIris_top.png +doubleFlower_pink_bottom.png +doubleFlower_pink_top.png +doubleFlower_red_bottom.png +doubleFlower_red_top.png +doubleFlower_yellowIris_bottom.png +doubleFlower_yellowIris_top.png +driedReeds_lower.png +driedReeds_mid.png +driedReeds_upper.png +dunlendingCraftingTable_side.png +dunlendingCraftingTable_top.png +dwarfBars.png +dwarfHerb.png +dwarvenBed_feet_end.png +dwarvenBed_feet_side.png +dwarvenBed_feet_top.png +dwarvenBed_head_end.png +dwarvenBed_head_side.png +dwarvenBed_head_top.png +dwarvenCraftingTable_side.png +dwarvenCraftingTable_top.png +dwarvenDoorIthildin_glow_1x1_0_0.png +dwarvenDoorIthildin_glow_1x2_0_0.png +dwarvenDoorIthildin_glow_1x2_0_1.png +dwarvenDoorIthildin_glow_2x2_0_0.png +dwarvenDoorIthildin_glow_2x2_0_1.png +dwarvenDoorIthildin_glow_2x2_1_0.png +dwarvenDoorIthildin_glow_2x2_1_1.png +dwarvenDoorIthildin_glow_2x3_0_0.png +dwarvenDoorIthildin_glow_2x3_0_1.png +dwarvenDoorIthildin_glow_2x3_0_2.png +dwarvenDoorIthildin_glow_2x3_1_0.png +dwarvenDoorIthildin_glow_2x3_1_1.png +dwarvenDoorIthildin_glow_2x3_1_2.png +dwarvenDoorIthildin_glow_3x4_0_0.png +dwarvenDoorIthildin_glow_3x4_0_1.png +dwarvenDoorIthildin_glow_3x4_0_2.png +dwarvenDoorIthildin_glow_3x4_0_3.png +dwarvenDoorIthildin_glow_3x4_1_0.png +dwarvenDoorIthildin_glow_3x4_1_1.png +dwarvenDoorIthildin_glow_3x4_1_2.png +dwarvenDoorIthildin_glow_3x4_1_3.png +dwarvenDoorIthildin_glow_3x4_2_0.png +dwarvenDoorIthildin_glow_3x4_2_1.png +dwarvenDoorIthildin_glow_3x4_2_2.png +dwarvenDoorIthildin_glow_3x4_2_3.png +dwarvenForge_active.png +dwarvenForge_front.png +dwarvenForge_side.png +dwarvenForge_top.png +elanor.png +elvenBed_feet_end.png +elvenBed_feet_side.png +elvenBed_feet_top.png +elvenBed_head_end.png +elvenBed_head_side.png +elvenBed_head_top.png +elvenCraftingTable_side.png +elvenCraftingTable_top.png +elvenForge_active.png +elvenForge_front.png +elvenForge_side.png +elvenForge_top.png +entJar_side.png +entJar_top.png +fangornPlant_brown.png +fangornPlant_gold.png +fangornPlant_green.png +fangornPlant_red.png +fangornPlant_silver.png +fangornPlant_yellow.png +fangornRiverweed.png +flax_0.png +flax_1.png +flax_2.png +flaxPlant.png +fruitLeaves_apple_fancy.png +fruitLeaves_apple_fast.png +fruitLeaves_cherry_fancy.png +fruitLeaves_cherry_fast.png +fruitLeaves_mango_fancy.png +fruitLeaves_mango_fast.png +fruitLeaves_pear_fancy.png +fruitLeaves_pear_fast.png +fruitSapling_apple.png +fruitSapling_cherry.png +fruitSapling_mango.png +fruitSapling_pear.png +fruitWood_apple_side.png +fruitWood_apple_top.png +fruitWood_cherry_side.png +fruitWood_cherry_top.png +fruitWood_mango_side.png +fruitWood_mango_top.png +fruitWood_pear_side.png +fruitWood_pear_top.png +galadhrimBars.png +galadhrimWoodBars.png +gateBronzeBars.png +gateDolAmroth_base.png +gateDolAmroth_bottomLeftInv.png +gateDolAmroth_bottomLeft.png +gateDolAmroth_bottom.png +gateDolAmroth_bottomRightInv.png +gateDolAmroth_bottomRight.png +gateDolAmroth_left.png +gateDolAmroth_right.png +gateDolAmroth_topLeftInv.png +gateDolAmroth_topLeft.png +gateDolAmroth_top.png +gateDolAmroth_topRightInv.png +gateDolAmroth_topRight.png +gateDwarven_base.png +gateDwarven_bottomLeftInv.png +gateDwarven_bottomLeft.png +gateDwarven_bottom.png +gateDwarven_bottomRightInv.png +gateDwarven_bottomRight.png +gateDwarven_left.png +gateDwarven_right.png +gateDwarven_topLeftInv.png +gateDwarven_topLeft.png +gateDwarven_top.png +gateDwarven_topRightInv.png +gateDwarven_topRight.png +gateElven_base.png +gateElven_bottomLeftInv.png +gateElven_bottomLeft.png +gateElven_bottom.png +gateElven_bottomRightInv.png +gateElven_bottomRight.png +gateElven_left.png +gateElven_right.png +gateElven_topLeftInv.png +gateElven_topLeft.png +gateElven_top.png +gateElven_topRightInv.png +gateElven_topRight.png +gateGold_base.png +gateGold_bottomLeftInv.png +gateGold_bottomLeft.png +gateGold_bottom.png +gateGold_bottomRightInv.png +gateGold_bottomRight.png +gateGold_left.png +gateGold_right.png +gateGold_topLeftInv.png +gateGold_topLeft.png +gateGold_top.png +gateGold_topRightInv.png +gateGold_topRight.png +gateGondor_base.png +gateGondor_bottomLeftInv.png +gateGondor_bottomLeft.png +gateGondor_bottom.png +gateGondor_bottomRightInv.png +gateGondor_bottomRight.png +gateGondor_left.png +gateGondor_right.png +gateGondor_topLeftInv.png +gateGondor_topLeft.png +gateGondor_top.png +gateGondor_topRightInv.png +gateGondor_topRight.png +gateHighElven_base.png +gateHighElven_bottomLeftInv.png +gateHighElven_bottomLeft.png +gateHighElven_bottom.png +gateHighElven_bottomRightInv.png +gateHighElven_bottomRight.png +gateHighElven_left.png +gateHighElven_right.png +gateHighElven_topLeftInv.png +gateHighElven_topLeft.png +gateHighElven_top.png +gateHighElven_topRightInv.png +gateHighElven_topRight.png +gateHobbitBlue_base.png +gateHobbitBlue_bottomLeftInv.png +gateHobbitBlue_bottomLeft.png +gateHobbitBlue_bottom.png +gateHobbitBlue_bottomRightInv.png +gateHobbitBlue_bottomRight.png +gateHobbitBlue_left.png +gateHobbitBlue_right.png +gateHobbitBlue_topLeftInv.png +gateHobbitBlue_topLeft.png +gateHobbitBlue_top.png +gateHobbitBlue_topRightInv.png +gateHobbitBlue_topRight.png +gateHobbitGreen_base.png +gateHobbitGreen_bottomLeftInv.png +gateHobbitGreen_bottomLeft.png +gateHobbitGreen_bottom.png +gateHobbitGreen_bottomRightInv.png +gateHobbitGreen_bottomRight.png +gateHobbitGreen_left.png +gateHobbitGreen_right.png +gateHobbitGreen_topLeftInv.png +gateHobbitGreen_topLeft.png +gateHobbitGreen_top.png +gateHobbitGreen_topRightInv.png +gateHobbitGreen_topRight.png +gateHobbitRed_base.png +gateHobbitRed_bottomLeftInv.png +gateHobbitRed_bottomLeft.png +gateHobbitRed_bottom.png +gateHobbitRed_bottomRightInv.png +gateHobbitRed_bottomRight.png +gateHobbitRed_left.png +gateHobbitRed_right.png +gateHobbitRed_topLeftInv.png +gateHobbitRed_topLeft.png +gateHobbitRed_top.png +gateHobbitRed_topRightInv.png +gateHobbitRed_topRight.png +gateHobbitYellow_base.png +gateHobbitYellow_bottomLeftInv.png +gateHobbitYellow_bottomLeft.png +gateHobbitYellow_bottom.png +gateHobbitYellow_bottomRightInv.png +gateHobbitYellow_bottomRight.png +gateHobbitYellow_left.png +gateHobbitYellow_right.png +gateHobbitYellow_topLeftInv.png +gateHobbitYellow_topLeft.png +gateHobbitYellow_top.png +gateHobbitYellow_topRightInv.png +gateHobbitYellow_topRight.png +gateIronBars.png +gateMithril_base.png +gateMithril_bottomLeftInv.png +gateMithril_bottomLeft.png +gateMithril_bottom.png +gateMithril_bottomRightInv.png +gateMithril_bottomRight.png +gateMithril_left.png +gateMithril_right.png +gateMithril_topLeftInv.png +gateMithril_topLeft.png +gateMithril_top.png +gateMithril_topRightInv.png +gateMithril_topRight.png +gateNearHarad_base.png +gateNearHarad_bottomLeftInv.png +gateNearHarad_bottomLeft.png +gateNearHarad_bottom.png +gateNearHarad_bottomRightInv.png +gateNearHarad_bottomRight.png +gateNearHarad_left.png +gateNearHarad_right.png +gateNearHarad_topLeftInv.png +gateNearHarad_topLeft.png +gateNearHarad_top.png +gateNearHarad_topRightInv.png +gateNearHarad_topRight.png +gateOrc_base.png +gateOrc_bottomLeftInv.png +gateOrc_bottomLeft.png +gateOrc_bottom.png +gateOrc_bottomRightInv.png +gateOrc_bottomRight.png +gateOrc_left.png +gateOrc_right.png +gateOrc_topLeftInv.png +gateOrc_topLeft.png +gateOrc_top.png +gateOrc_topRightInv.png +gateOrc_topRight.png +gateRhun_base.png +gateRhun_bottomLeftInv.png +gateRhun_bottomLeft.png +gateRhun_bottom.png +gateRhun_bottomRightInv.png +gateRhun_bottomRight.png +gateRhun_left.png +gateRhun_right.png +gateRhun_topLeftInv.png +gateRhun_topLeft.png +gateRhun_top.png +gateRhun_topRightInv.png +gateRhun_topRight.png +gateRohan_base.png +gateRohan_bottomLeftInv.png +gateRohan_bottomLeft.png +gateRohan_bottom.png +gateRohan_bottomRightInv.png +gateRohan_bottomRight.png +gateRohan_left.png +gateRohan_right.png +gateRohan_topLeftInv.png +gateRohan_topLeft.png +gateRohan_top.png +gateRohan_topRightInv.png +gateRohan_topRight.png +gateSilver_base.png +gateSilver_bottomLeftInv.png +gateSilver_bottomLeft.png +gateSilver_bottom.png +gateSilver_bottomRightInv.png +gateSilver_bottomRight.png +gateSilver_left.png +gateSilver_right.png +gateSilver_topLeftInv.png +gateSilver_topLeft.png +gateSilver_top.png +gateSilver_topRightInv.png +gateSilver_topRight.png +gateTauredain_base.png +gateTauredain_bottomLeftInv.png +gateTauredain_bottomLeft.png +gateTauredain_bottom.png +gateTauredain_bottomRightInv.png +gateTauredain_bottomRight.png +gateTauredain_left.png +gateTauredain_right.png +gateTauredain_topLeftInv.png +gateTauredain_topLeft.png +gateTauredain_top.png +gateTauredain_topRightInv.png +gateTauredain_topRight.png +gateUruk_base.png +gateUruk_bottomLeftInv.png +gateUruk_bottomLeft.png +gateUruk_bottom.png +gateUruk_bottomRightInv.png +gateUruk_bottomRight.png +gateUruk_left.png +gateUruk_right.png +gateUruk_topLeftInv.png +gateUruk_topLeft.png +gateUruk_top.png +gateUruk_topRightInv.png +gateUruk_topRight.png +gateWoodElven_base.png +gateWoodElven_bottomLeftInv.png +gateWoodElven_bottomLeft.png +gateWoodElven_bottom.png +gateWoodElven_bottomRightInv.png +gateWoodElven_bottomRight.png +gateWoodElven_left.png +gateWoodElven_right.png +gateWoodElven_topLeftInv.png +gateWoodElven_topLeft.png +gateWoodElven_top.png +gateWoodElven_topRightInv.png +gateWoodElven_topRight.png +gateWooden_base.png +gateWooden_bottomLeftInv.png +gateWooden_bottomLeft.png +gateWooden_bottom.png +gateWooden_bottomRightInv.png +gateWooden_bottomRight.png +gateWoodenCross.png +gateWooden_left.png +gateWooden_right.png +gateWooden_topLeftInv.png +gateWooden_topLeft.png +gateWooden_top.png +gateWooden_topRightInv.png +gateWooden_topRight.png +goldBars.png +gondorianCraftingTable_side.png +gondorianCraftingTable_top.png +goran.png +goran_rock.png +grapevine.png +grapevineRed_grapes.png +grapevineRed_vine.png +grapevineWhite_grapes.png +grapevineWhite_vine.png +gundabadCraftingTable_side.png +gundabadCraftingTable_top.png +halfTrollCraftingTable_side.png +halfTrollCraftingTable_top.png +haradFlower_daisy.png +haradFlower_pink.png +haradFlower_red.png +haradFlower_yellow.png +hearth_bottom.png +hearth_side.png +hearth_top.png +highElfBars.png +highElfWoodBars.png +highElvenBed_feet_end.png +highElvenBed_feet_side.png +highElvenBed_feet_top.png +highElvenBed_head_end.png +highElvenBed_head_side.png +highElvenBed_head_top.png +highElvenCraftingTable_side.png +highElvenCraftingTable_top.png +highElvenTorch.png +hithlainLadder.png +hobbitCraftingTable_side.png +hobbitCraftingTable_top.png +hobbitOven_active.png +hobbitOven_front.png +hobbitOven_side.png +hobbitOven_top.png +kebabBlock.png +leaves2_banana_fancy.png +leaves2_banana_fast.png +leaves2_beech_fancy.png +leaves2_beech_fast.png +leaves2_holly_fancy.png +leaves2_holly_fast.png +leaves2_lebethron_fancy.png +leaves2_lebethron_fast.png +leaves3_datePalm_fancy.png +leaves3_datePalm_fast.png +leaves3_larch_fancy.png +leaves3_larch_fast.png +leaves3_mangrove_fancy.png +leaves3_mangrove_fast.png +leaves3_maple_fancy.png +leaves3_maple_fast.png +leaves4_baobab_fancy.png +leaves4_baobab_fast.png +leaves4_cedar_fancy.png +leaves4_cedar_fast.png +leaves4_chestnut_fancy.png +leaves4_chestnut_fast.png +leaves4_fir_fancy.png +leaves4_fir_fast.png +leaves5_lemon_fancy.png +leaves5_lemon_fast.png +leaves5_lime_fancy.png +leaves5_lime_fast.png +leaves5_orange_fancy.png +leaves5_orange_fast.png +leaves5_pine_fancy.png +leaves5_pine_fast.png +leaves6_cypress_fancy.png +leaves6_cypress_fast.png +leaves6_mahogany_fancy.png +leaves6_mahogany_fast.png +leaves6_olive_fancy.png +leaves6_olive_fast.png +leaves6_willow_fancy.png +leaves6_willow_fast.png +leaves7_almond_fancy.png +leaves7_almond_fast.png +leaves7_aspen_fancy.png +leaves7_aspen_fast.png +leaves7_greenOak_fancy.png +leaves7_greenOak_fast.png +leaves7_lairelosse_fancy.png +leaves7_lairelosse_fast.png +leaves8_plum_fancy.png +leaves8_plum_fast.png +leaves8_pomegranate_fancy.png +leaves8_pomegranate_fast.png +leaves8_redwood_fancy.png +leaves8_redwood_fast.png +leaves_mallorn_fancy.png +leaves_mallorn_fast.png +leaves_mirkOak_fancy.png +leaves_mirkOak_fast.png +leaves_mirkOakRed_fancy.png +leaves_mirkOakRed_fast.png +leaves_shirePine_fancy.png +leaves_shirePine_fast.png +leavesV1_birch_fancy.png +leavesV1_birch_fast.png +leavesV1_jungle_fancy.png +leavesV1_jungle_fast.png +leavesV1_oak_fancy.png +leavesV1_oak_fast.png +leavesV1_spruce_fancy.png +leavesV1_spruce_fast.png +leavesV2_acacia_fancy.png +leavesV2_acacia_fast.png +leavesV2_darkOak_fancy.png +leavesV2_darkOak_fast.png +leek_0.png +leek_1.png +leek_2.png +leek_3.png +lemonCake_bottom.png +lemonCake_inner.png +lemonCake_side.png +lemonCake_top.png +lettuce_0.png +lettuce_1.png +lettuce_2.png +lettuce_3.png +lionBed_feet_end.png +lionBed_feet_side.png +lionBed_feet_top.png +lionBed_head_end.png +lionBed_head_side.png +lionBed_head_top.png +mallornLadder.png +mallornTorchBlue.png +mallornTorchGold.png +mallornTorchGreen.png +mallornTorch.png +marigold.png +marzipanBlock_bottom.png +marzipanBlock_inner.png +marzipanBlock_side.png +marzipanBlock_top.png +mirkVines.png +mithrilBars.png +mordorDirt.png +mordorGrass.png +mordorGravel.png +mordorMoss.png +mordorThorn.png +moredainCraftingTable_side.png +moredainCraftingTable_top.png +morgulCraftingTable_side.png +morgulCraftingTable_top.png +morgulFlower.png +morgulShroom.png +morgulTorch.png +mudFarmland_dry.png +mudFarmland_wet.png +mudGrass_side.png +mudGrass_top.png +mud.png +nearHaradCraftingTable_side.png +nearHaradCraftingTable_top.png +niphredil.png +obsidianGravel.png +orcBed_feet_end.png +orcBed_feet_side.png +orcBed_feet_top.png +orcBed_head_end.png +orcBed_head_side.png +orcBed_head_top.png +orcBomb_fire_side.png +orcBomb_fire_top.png +orcBomb_handle.png +orcBomb_side.png +orcBomb_top.png +orcForge_active.png +orcForge_front.png +orcForge_side.png +orcForge_top.png +orcSteelBars.png +orcTorch_bottom.png +orcTorch_top.png +oreCopper.png +oreGlowstone.png +oreGulduril_mordor.png +oreGulduril.png +oreMithril.png +oreMorgulIron_mordor.png +oreMorgulIron.png +oreNaurite.png +oreQuendite.png +oreSaltpeter.png +oreSilver.png +oreStorage2_blackUrukSteel.png +oreStorage2_elfSteel.png +oreStorage2_gildedIron.png +oreStorage_blueDwarfSteel.png +oreStorage_bronze.png +oreStorage_copper.png +oreStorage_dwarfSteel.png +oreStorage_galvorn.png +oreStorage_gulduril.png +oreStorage_mithril_base.png +oreStorage_mithril_bottomLeftInv.png +oreStorage_mithril_bottomLeft.png +oreStorage_mithril_bottom.png +oreStorage_mithril_bottomRightInv.png +oreStorage_mithril_bottomRight.png +oreStorage_mithril_left.png +oreStorage_mithril_right.png +oreStorage_mithril_topLeftInv.png +oreStorage_mithril_topLeft.png +oreStorage_mithril_top.png +oreStorage_mithril_topRightInv.png +oreStorage_mithril_topRight.png +oreStorage_morgulSteel.png +oreStorage_morgulSteel_side.png +oreStorage_naurite.png +oreStorage_orcSteel.png +oreStorage_orcSteel_side.png +oreStorage_quendite.png +oreStorage_saltpeter.png +oreStorage_silver.png +oreStorage_sulfur.png +oreStorage_tin.png +oreStorage_urukSteel.png +oreSulfur.png +oreTin.png +pillar2_angmar_face.png +pillar2_angmar_sideBottom.png +pillar2_angmar_sideMiddle.png +pillar2_angmar_side.png +pillar2_angmar_sideTop.png +pillar2_brick_face.png +pillar2_brick_sideBottom.png +pillar2_brick_sideMiddle.png +pillar2_brick_side.png +pillar2_brick_sideTop.png +pillar2_chalk_face.png +pillar2_chalk_sideBottom.png +pillar2_chalk_sideMiddle.png +pillar2_chalk_side.png +pillar2_chalk_sideTop.png +pillar2_dale_face.png +pillar2_dale_sideBottom.png +pillar2_dale_sideMiddle.png +pillar2_dale_side.png +pillar2_dale_sideTop.png +pillar2_dorwinion_face.png +pillar2_dorwinionMossy_face.png +pillar2_dorwinionMossy_sideBottom.png +pillar2_dorwinionMossy_sideMiddle.png +pillar2_dorwinionMossy_side.png +pillar2_dorwinionMossy_sideTop.png +pillar2_dorwinion_sideBottom.png +pillar2_dorwinion_sideMiddle.png +pillar2_dorwinion_side.png +pillar2_dorwinion_sideTop.png +pillar2_dwarvenCracked_face.png +pillar2_dwarvenCracked_sideBottom.png +pillar2_dwarvenCracked_sideMiddle.png +pillar2_dwarvenCracked_side.png +pillar2_dwarvenCracked_sideTop.png +pillar2_rhun_face.png +pillar2_rhunRed_face.png +pillar2_rhunRed_sideBottom.png +pillar2_rhunRed_sideMiddle.png +pillar2_rhunRed_side.png +pillar2_rhunRed_sideTop.png +pillar2_rhun_sideBottom.png +pillar2_rhun_sideMiddle.png +pillar2_rhun_side.png +pillar2_rhun_sideTop.png +pillar2_stone_face.png +pillar2_stone_sideBottom.png +pillar2_stone_sideMiddle.png +pillar2_stone_side.png +pillar2_stone_sideTop.png +pillar_blackGondor_face.png +pillar_blackGondor_sideBottom.png +pillar_blackGondor_sideMiddle.png +pillar_blackGondor_side.png +pillar_blackGondor_sideTop.png +pillar_blueRock_face.png +pillar_blueRock_sideBottom.png +pillar_blueRock_sideMiddle.png +pillar_blueRock_side.png +pillar_blueRock_sideTop.png +pillar_dwarven_face.png +pillar_dwarven_sideBottom.png +pillar_dwarven_sideMiddle.png +pillar_dwarven_side.png +pillar_dwarven_sideTop.png +pillar_galadhrimCracked_face.png +pillar_galadhrimCracked_sideBottom.png +pillar_galadhrimCracked_sideMiddle.png +pillar_galadhrimCracked_side.png +pillar_galadhrimCracked_sideTop.png +pillar_galadhrim_face.png +pillar_galadhrim_sideBottom.png +pillar_galadhrim_sideMiddle.png +pillar_galadhrim_side.png +pillar_galadhrim_sideTop.png +pillar_gondor_face.png +pillar_gondor_sideBottom.png +pillar_gondor_sideMiddle.png +pillar_gondor_side.png +pillar_gondor_sideTop.png +pillar_highElvenCracked_face.png +pillar_highElvenCracked_sideBottom.png +pillar_highElvenCracked_sideMiddle.png +pillar_highElvenCracked_side.png +pillar_highElvenCracked_sideTop.png +pillar_highElven_face.png +pillar_highElven_sideBottom.png +pillar_highElven_sideMiddle.png +pillar_highElven_side.png +pillar_highElven_sideTop.png +pillar_mordor_face.png +pillar_mordor_sideBottom.png +pillar_mordor_sideMiddle.png +pillar_mordor_side.png +pillar_mordor_sideTop.png +pillar_nearHarad_face.png +pillar_nearHaradRed_face.png +pillar_nearHaradRed_sideBottom.png +pillar_nearHaradRed_sideMiddle.png +pillar_nearHaradRed_side.png +pillar_nearHaradRed_sideTop.png +pillar_nearHarad_sideBottom.png +pillar_nearHarad_sideMiddle.png +pillar_nearHarad_side.png +pillar_nearHarad_sideTop.png +pillar_redRock_face.png +pillar_redRock_sideBottom.png +pillar_redRock_sideMiddle.png +pillar_redRock_side.png +pillar_redRock_sideTop.png +pillar_rohan_face.png +pillar_rohan_sideBottom.png +pillar_rohan_sideMiddle.png +pillar_rohan_side.png +pillar_rohan_sideTop.png +pillar_tauredain_face.png +pillar_tauredain_sideBottom.png +pillar_tauredain_sideMiddle.png +pillar_tauredain_side.png +pillar_tauredain_sideTop.png +pillar_woodElvenCracked_face.png +pillar_woodElvenCracked_sideBottom.png +pillar_woodElvenCracked_sideMiddle.png +pillar_woodElvenCracked_side.png +pillar_woodElvenCracked_sideTop.png +pillar_woodElven_face.png +pillar_woodElven_sideBottom.png +pillar_woodElven_sideMiddle.png +pillar_woodElven_side.png +pillar_woodElven_sideTop.png +pipeweed_0.png +pipeweed_1.png +pipeweed_2.png +pipeweed_3.png +pipeweedPlant.png +planks2_almond.png +planks2_aspen.png +planks2_baobab.png +planks2_cedar.png +planks2_chestnut.png +planks2_cypress.png +planks2_fir.png +planks2_greenOak.png +planks2_lairelosse.png +planks2_lemon.png +planks2_lime.png +planks2_mahogany.png +planks2_olive.png +planks2_orange.png +planks2_pine.png +planks2_willow.png +planks3_plum.png +planks3_pomegranate.png +planks3_redwood.png +planks_apple.png +planks_banana.png +planks_beech.png +planks_charred.png +planks_cherry.png +planks_datePalm.png +planks_holly.png +planks_larch.png +planks_lebethron.png +planks_mallorn.png +planks_mango.png +planks_mangrove.png +planks_maple.png +planks_mirkOak.png +planks_pear.png +planksRotten_rotten.png +planks_shirePine.png +plate_base.png +plate_top.png +quagmire.png +quenditeGrass_side.png +quenditeGrass_top.png +rangerCraftingTable_side.png +rangerCraftingTable_top.png +redBrick_cracked.png +redBrick_mossy.png +redSandstone_bottom.png +redSandstone.png +redSandstone_top.png +reedBars.png +reeds_lower.png +reeds_mid.png +reeds_upper.png +remains.png +rhunCraftingTable_side.png +rhunCraftingTable_top.png +rhunFireJar_base_bottom.png +rhunFireJar_base_side.png +rhunFireJar_base_top.png +rhunFireJar_cap_bottom.png +rhunFireJar_cap_side.png +rhunFireJar_cap_top.png +rhunFireJar_crown_side.png +rhunFireJar_handle_side.png +rhunFireJar_lid_bottom.png +rhunFireJar_lid_side.png +rhunFireJar_lid_top.png +rhunFireJar_neck_side.png +rhunFire_layer_0.png +rhunFire_layer_1.png +rhunFlower_chrysBlue.png +rhunFlower_chrysOrange.png +rhunFlower_chrysPink.png +rhunFlower_chrysWhite.png +rhunFlower_chrysYellow.png +rock_blue.png +rock_chalk.png +rock_gondor.png +rock_mordor.png +rock_red.png +rock_rohan.png +rohirricCraftingTable_side.png +rohirricCraftingTable_top.png +rottenLog_rotten_side.png +rottenLog_rotten_top.png +sapling2_banana.png +sapling2_beech.png +sapling2_holly.png +sapling2_lebethron.png +sapling3_datePalm.png +sapling3_larch.png +sapling3_mangrove.png +sapling3_maple.png +sapling4_baobab.png +sapling4_cedar.png +sapling4_chestnut.png +sapling4_fir.png +sapling5_lemon.png +sapling5_lime.png +sapling5_orange.png +sapling5_pine.png +sapling6_cypress.png +sapling6_mahogany.png +sapling6_olive.png +sapling6_willow.png +sapling7_almond.png +sapling7_aspen.png +sapling7_greenOak.png +sapling7_lairelosse.png +sapling8_plum.png +sapling8_pomegranate.png +sapling8_redwood.png +sapling_mallorn.png +sapling_mirkOak.png +sapling_mirkOakRed.png +sapling_shirePine.png +scorchedStone.png +shireHeather.png +silverBars.png +simbelmyne.png +smoothStone_blue_side.png +smoothStone_blue_top.png +smoothStone_chalk_side.png +smoothStone_chalk_top.png +smoothStone_gondor_side.png +smoothStone_gondor_top.png +smoothStone_mordor_side.png +smoothStone_mordor_top.png +smoothStone_red_side.png +smoothStone_red_top.png +smoothStone_rohan_side.png +smoothStone_rohan_top.png +strawBed_feet_end.png +strawBed_feet_side.png +strawBed_feet_top.png +strawBed_head_end.png +strawBed_head_side.png +strawBed_head_top.png +tallGrass_flower_overlay.png +tallGrass_flower.png +tallGrass_nettle.png +tallGrass_short.png +tallGrass_thistle_overlay.png +tallGrass_thistle.png +tallGrass_wheat_overlay.png +tallGrass_wheat.png +tauredainCraftingTable_side.png +tauredainCraftingTable_top.png +tauredainDartTrap_face.png +tauredainDartTrapGold_face.png +tauredainDoubleTorch_bottom.png +tauredainDoubleTorch_top.png +termiteMound.png +thatchFloor.png +thatch_reed.png +thatch_thatch.png +treasureCopper.png +treasureCopper_side.png +treasureGold.png +treasureGold_side.png +treasureSilver.png +treasureSilver_side.png +turnip_0.png +turnip_1.png +turnip_2.png +turnip_3.png +urukBars.png +urukCraftingTable_side.png +urukCraftingTable_top.png +utumnoBrick_burning.png +utumnoBrick_fire.png +utumnoBrick_iceGlowing.png +utumnoBrick_ice.png +utumnoBrick_obsidianFire.png +utumnoBrick_obsidian.png +utumnoPillar_fire_face.png +utumnoPillar_fire_sideBottom.png +utumnoPillar_fire_sideMiddle.png +utumnoPillar_fire_side.png +utumnoPillar_fire_sideTop.png +utumnoPillar_ice_face.png +utumnoPillar_ice_sideBottom.png +utumnoPillar_ice_sideMiddle.png +utumnoPillar_ice_side.png +utumnoPillar_ice_sideTop.png +utumnoPillar_obsidian_face.png +utumnoPillar_obsidian_sideBottom.png +utumnoPillar_obsidian_sideMiddle.png +utumnoPillar_obsidian_side.png +utumnoPillar_obsidian_sideTop.png +utumnoReturnLight.png +utumnoReturnPortalBase.png +utumnoReturnPortalBase_top.png +wargFurBed_feet_end.png +wargFurBed_feet_side.png +wargFurBed_feet_top.png +wargFurBed_head_end.png +wargFurBed_head_side.png +wargFurBed_head_top.png +wasteBlock_var0.png +wasteBlock_var1.png +wasteBlock_var2.png +wasteBlock_var3.png +webUngoliant.png +whiteSand.png +whiteSandstone_bottom.png +whiteSandstone.png +whiteSandstone_top.png +willowVines.png +wood2_banana_side.png +wood2_banana_top.png +wood2_beech_side.png +wood2_beech_top.png +wood2_holly_side.png +wood2_holly_top.png +wood2_lebethron_side.png +wood2_lebethron_top.png +wood3_datePalm_side.png +wood3_datePalm_top.png +wood3_larch_side.png +wood3_larch_top.png +wood3_mangrove_side.png +wood3_mangrove_top.png +wood3_maple_side.png +wood3_maple_top.png +wood4_baobab_side.png +wood4_baobab_top.png +wood4_cedar_side.png +wood4_cedar_top.png +wood4_chestnut_side.png +wood4_chestnut_top.png +wood4_fir_side.png +wood4_fir_top.png +wood5_lemon_side.png +wood5_lemon_top.png +wood5_lime_side.png +wood5_lime_top.png +wood5_orange_side.png +wood5_orange_top.png +wood5_pine_side.png +wood5_pine_top.png +wood6_cypress_side.png +wood6_cypress_top.png +wood6_mahogany_side.png +wood6_mahogany_top.png +wood6_olive_side.png +wood6_olive_top.png +wood6_willow_side.png +wood6_willow_top.png +wood7_almond_side.png +wood7_almond_top.png +wood7_aspen_side.png +wood7_aspen_top.png +wood7_greenOak_side.png +wood7_greenOak_top.png +wood7_lairelosse_side.png +wood7_lairelosse_top.png +wood8_plum_side.png +wood8_plum_top.png +wood8_pomegranate_side.png +wood8_pomegranate_top.png +wood8_redwood_side.png +wood8_redwood_top.png +woodBeam1_charred_side.png +woodBeam1_charred_top.png +woodBeam1_mallorn_side.png +woodBeam1_mallorn_top.png +woodBeam1_mirkOak_side.png +woodBeam1_mirkOak_top.png +woodBeam1_shirePine_side.png +woodBeam1_shirePine_top.png +woodBeam2_banana_side.png +woodBeam2_banana_top.png +woodBeam2_beech_side.png +woodBeam2_beech_top.png +woodBeam2_holly_side.png +woodBeam2_holly_top.png +woodBeam2_lebethron_side.png +woodBeam2_lebethron_top.png +woodBeam3_datePalm_side.png +woodBeam3_datePalm_top.png +woodBeam3_larch_side.png +woodBeam3_larch_top.png +woodBeam3_mangrove_side.png +woodBeam3_mangrove_top.png +woodBeam3_maple_side.png +woodBeam3_maple_top.png +woodBeam4_baobab_side.png +woodBeam4_baobab_top.png +woodBeam4_cedar_side.png +woodBeam4_cedar_top.png +woodBeam4_chestnut_side.png +woodBeam4_chestnut_top.png +woodBeam4_fir_side.png +woodBeam4_fir_top.png +woodBeam5_lemon_side.png +woodBeam5_lemon_top.png +woodBeam5_lime_side.png +woodBeam5_lime_top.png +woodBeam5_orange_side.png +woodBeam5_orange_top.png +woodBeam5_pine_side.png +woodBeam5_pine_top.png +woodBeam6_cypress_side.png +woodBeam6_cypress_top.png +woodBeam6_mahogany_side.png +woodBeam6_mahogany_top.png +woodBeam6_olive_side.png +woodBeam6_olive_top.png +woodBeam6_willow_side.png +woodBeam6_willow_top.png +woodBeam7_almond_side.png +woodBeam7_almond_top.png +woodBeam7_aspen_side.png +woodBeam7_aspen_top.png +woodBeam7_greenOak_side.png +woodBeam7_greenOak_top.png +woodBeam7_lairelosse_side.png +woodBeam7_lairelosse_top.png +woodBeam8_plum_side.png +woodBeam8_plum_top.png +woodBeam8_pomegranate_side.png +woodBeam8_pomegranate_top.png +woodBeam8_redwood_side.png +woodBeam8_redwood_top.png +woodBeamFruit_apple_side.png +woodBeamFruit_apple_top.png +woodBeamFruit_cherry_side.png +woodBeamFruit_cherry_top.png +woodBeamFruit_mango_side.png +woodBeamFruit_mango_top.png +woodBeamFruit_pear_side.png +woodBeamFruit_pear_top.png +woodBeamRotten_rotten_side.png +woodBeamRotten_rotten_top.png +woodBeamS_rohanGold_side.png +woodBeamS_rohanGold_top.png +woodBeamS_rohan_side.png +woodBeamS_rohan_top.png +woodBeamV1_birch_side.png +woodBeamV1_birch_top.png +woodBeamV1_jungle_side.png +woodBeamV1_jungle_top.png +woodBeamV1_oak_side.png +woodBeamV1_oak_top.png +woodBeamV1_spruce_side.png +woodBeamV1_spruce_top.png +woodBeamV2_acacia_side.png +woodBeamV2_acacia_top.png +woodBeamV2_darkOak_side.png +woodBeamV2_darkOak_top.png +wood_charred_side.png +wood_charred_top.png +woodElfBars.png +woodElfWoodBars.png +woodElvenBed_feet_end.png +woodElvenBed_feet_side.png +woodElvenBed_feet_top.png +woodElvenBed_head_end.png +woodElvenBed_head_side.png +woodElvenBed_head_top.png +woodElvenCraftingTable_side.png +woodElvenCraftingTable_top.png +woodElvenTorch.png +wood_mallorn_side.png +wood_mallorn_top.png +wood_mirkOak_side.png +wood_mirkOak_top.png +wood_shirePine_side.png +wood_shirePine_top.png +yam_0.png +yam_1.png +yam_2.png +yam_3.png diff --git a/31/lotr31.items.id.txt b/31/lotr31.items.id.txt new file mode 100644 index 0000000..5cfa7b4 --- /dev/null +++ b/31/lotr31.items.id.txt @@ -0,0 +1,1224 @@ +165 rock +166 oreCopper +167 oreTin +168 oreSilver +169 oreMithril +176 beacon +177 simbelmyne +178 wood +179 leaves +180 planks +181 sapling +182 woodSlabSingle +183 woodSlabDouble +184 stairsPine +185 shireHeather +186 brick +187 appleCrumble +188 hobbitOven +189 oreStorage +190 oreNaurite +191 oreMorgulIron +192 morgulCraftingTable +193 chandelier +194 pipeweedPlant +195 pipeweed +196 slabSingle +197 slabDouble +198 stairsMordorBrick +199 stairsGondorBrick +200 wallStone +201 barrel +202 lettuce +203 orcBomb +204 orcTorch +205 elanor +206 niphredil +207 stairsMallorn +208 elvenCraftingTable +209 mobSpawner +210 mallornLadder +211 plate +212 orcSteelBars +213 stairsGondorBrickMossy +214 stairsGondorBrickCracked +215 athelas +216 stalactite +217 stairsRohanBrick +218 oreQuendite +219 mallornTorch +220 spawnerChest +221 quenditeGrass +222 pressurePlateMordorRock +223 pressurePlateGondorRock +224 buttonMordorRock +225 buttonGondorRock +226 elvenPortal +227 flowerPot +228 stairsDwarvenBrick +229 elvenBed +230 pillar +231 oreGlowstone +232 fruitWood +233 fruitLeaves +234 fruitSapling +235 stairsApple +236 stairsPear +237 stairsCherry +238 dwarvenCraftingTable +239 bluebell +240 dwarvenForge +241 hearth +242 morgulShroom +243 urukCraftingTable +244 cherryPie +245 clover +246 slabSingle2 +247 slabDouble2 +248 stairsMirkOak +249 webUngoliant +250 woodElvenCraftingTable +251 woodElvenBed +252 gondorianCraftingTable +253 woodElvenTorch +254 marshLights +255 rohirricCraftingTable +409 pressurePlateRohanRock +410 remains +411 deadMarshPlant +412 oreGulduril +413 guldurilBrick +414 dwarvenDoor +415 stairsCharred +416 dwarvenBed +423 morgulPortal +424 armorStand +425 buttonRohanRock +426 asphodel +427 wood2 +428 leaves2 +429 sapling2 +430 stairsLebethron +431 woodSlabSingle2 +432 woodSlabDouble2 +433 dwarfHerb +434 mug +435 dunlendingCraftingTable +436 stairsBeech +437 entJar +438 mordorThorn +439 mordorMoss +440 stairsMordorBrickCracked +441 orcForge +442 trollTotem +443 orcBed +444 stairsElvenBrick +445 stairsElvenBrickMossy +446 stairsElvenBrickCracked +447 stairsHolly +448 pressurePlateBlueRock +449 buttonBlueRock +450 slabSingle3 +451 slabDouble3 +452 stairsBlueRockBrick +453 fence +454 doubleFlower +455 oreSulfur +456 oreSaltpeter +457 quagmire +458 angmarCraftingTable +459 brick2 +460 wallStone2 +461 stairsAngmarBrick +462 stairsAngmarBrickCracked +463 stairsMango +464 stairsBanana +465 banana +466 bananaCake +467 lionBed +468 wood3 +469 leaves3 +470 sapling3 +471 stairsMaple +472 stairsLarch +473 nearHaradCraftingTable +474 highElvenCraftingTable +475 highElvenTorch +476 highElvenBed +477 pressurePlateRedRock +478 buttonRedRock +479 stairsRedRockBrick +480 slabSingle4 +481 slabDouble4 +482 stairsNearHaradBrick +483 stairsDatePalm +484 date +485 blueDwarvenCraftingTable +486 goran +487 thatch +488 slabSingleThatch +489 slabDoubleThatch +490 stairsThatch +491 fangornPlant +492 fangornRiverweed +493 morgulTorch +494 rangerCraftingTable +495 stairsArnorBrick +496 stairsArnorBrickMossy +497 stairsArnorBrickCracked +498 stairsUrukBrick +499 strawBed +500 stairsDolGuldurBrick +501 stairsDolGuldurBrickCracked +502 dolGuldurCraftingTable +503 fallenLeaves +504 fallenLeavesLOTR +505 gundabadCraftingTable +506 thatchFloor +507 dalishPastry +508 aridGrass +509 termiteMound +510 utumnoBrick +511 utumnoPortal +512 utumnoPillar +513 slabSingle5 +514 slabDouble5 +515 stairsMangrove +516 tallGrass +517 haradFlower +518 flaxPlant +519 flax +520 berryBush +521 planks2 +522 fence2 +523 woodSlabSingle3 +524 woodSlabDouble3 +525 wood4 +526 leaves4 +527 sapling4 +528 stairsChestnut +529 stairsBaobab +530 fallenLeavesLOTR2 +531 stairsCedar +532 rottenLog +533 oreStorage2 +534 mordorGrass +535 mordorDirt +536 mordorGravel +537 utumnoReturnPortal +538 utumnoReturnLight +539 utumnoReturnPortalBase +540 commandTable +541 halfTrollCraftingTable +542 butterflyJar +543 berryPie +544 stairsBlackGondorBrick +545 brick3 +546 wallStone3 +547 slabSingle6 +548 slabDouble6 +549 stairsHighElvenBrick +550 stairsHighElvenBrickMossy +551 stairsHighElvenBrickCracked +552 stairsWoodElvenBrick +553 stairsWoodElvenBrickMossy +554 stairsWoodElvenBrickCracked +555 elvenForge +556 dolAmrothCraftingTable +557 stairsDolAmrothBrick +558 stairsFir +559 wood5 +560 leaves5 +561 sapling5 +562 stairsPinePine +563 moredainCraftingTable +564 slabSingle7 +565 slabDouble7 +566 stairsMoredainBrick +567 stairsNearHaradBrickCracked +568 unsmeltery +569 bronzeBars +570 goldBars +571 silverBars +572 mithrilBars +573 urukBars +574 highElfBars +575 galadhrimBars +576 woodElfBars +577 dwarfBars +578 blueDwarfBars +579 highElfWoodBars +580 galadhrimWoodBars +581 woodElfWoodBars +582 corruptMallorn +583 planksRotten +584 stairsRotten +585 rottenSlabSingle +586 rottenSlabDouble +587 fenceRotten +588 scorchedStone +589 scorchedSlabSingle +590 scorchedSlabDouble +591 stairsScorchedStone +592 scorchedWall +593 stairsLemon +594 lemonCake +595 stairsOrange +596 alloyForge +597 stairsLime +598 tauredainCraftingTable +599 brick4 +600 wallStone4 +601 slabSingle8 +602 slabDouble8 +603 stairsTauredainBrick +604 stairsTauredainBrickMossy +605 stairsTauredainBrickCracked +606 stairsTauredainBrickGold +607 stairsTauredainBrickObsidian +608 obsidianGravel +609 tauredainDartTrap +610 wood6 +611 leaves6 +612 sapling6 +613 woodSlabSingle4 +614 woodSlabDouble4 +615 stairsMahogany +616 mud +617 mudGrass +618 chestStone +619 spawnerChestStone +620 mudFarmland +621 stairsNearHaradBrickRed +622 stairsNearHaradBrickRedCracked +623 redSandstone +624 stairsRedSandstone +625 stairsDwarvenBrickCracked +626 pillar2 +627 hithlainLadder +628 reeds +629 stairsReed +630 tauredainDoubleTorch +631 woodBeamV1 +632 reedBars +633 woodBeamV2 +634 woodBeam1 +635 tauredainDartTrapGold +636 weaponRack +637 cornStalk +638 wasteBlock +639 stairsDwarvenBrickObsidian +640 dirtPath +641 stairsWillow +642 willowVines +643 woodBeam2 +644 woodBeamFruit +645 woodBeam3 +646 woodBeam4 +647 woodBeam5 +648 woodBeam6 +649 woodBeamRotten +650 gateWooden +651 gateIronBars +652 gateBronzeBars +653 gateWoodenCross +654 gateOrc +655 stairsChalkBrick +656 slabSingle9 +657 slabDouble9 +658 gateElven +659 gateDwarven +660 gateGondor +661 pressurePlateChalk +662 buttonChalk +663 wallStoneV +664 stairsStoneBrickMossy +665 stairsStoneBrickCracked +666 slabSingleV +667 slabDoubleV +668 stairsStone +669 stairsMordorRock +670 stairsGondorRock +671 stairsRohanRock +672 stairsBlueRock +673 stairsRedRock +674 stairsChalk +675 gateHighElven +676 gateWoodElven +677 gateNearHarad +678 clayTile +679 clayTileDyed +680 slabClayTileSingle +681 slabClayTileDouble +682 slabClayTileDyedSingle +683 slabClayTileDyedDouble +684 slabClayTileDyedSingle2 +685 slabClayTileDyedDouble2 +686 stairsClayTile +687 stairsClayTileDyedWhite +688 stairsClayTileDyedOrange +689 stairsClayTileDyedMagenta +690 stairsClayTileDyedLightBlue +691 stairsClayTileDyedYellow +692 stairsClayTileDyedLime +693 stairsClayTileDyedPink +694 stairsClayTileDyedGray +695 stairsClayTileDyedLightGray +696 stairsClayTileDyedCyan +697 stairsClayTileDyedPurple +698 stairsClayTileDyedBlue +699 stairsClayTileDyedBrown +700 stairsClayTileDyedGreen +701 stairsClayTileDyedRed +702 stairsClayTileDyedBlack +703 wargFurBed +704 slabUtumnoSingle +705 slabUtumnoDouble +706 stairsUtumnoBrickFire +707 stairsUtumnoBrickIce +708 stairsUtumnoBrickObsidian +709 wallUtumno +710 kebabStand +711 kebabStandSand +712 gateTauredain +713 gateDolAmroth +714 gateUruk +715 gateSilver +716 gateGold +717 gateMithril +718 brick5 +719 stairsMudBrick +720 leek +721 turnip +722 stairsDaleBrick +723 stairsDorwinionBrick +724 daleCraftingTable +725 dorwinionCraftingTable +726 stairsCypress +727 stairsOlive +728 slabSingle10 +729 slabDouble10 +730 hobbitCraftingTable +731 gateHobbitGreen +732 gateHobbitBlue +733 gateHobbitRed +734 gateHobbitYellow +735 driedReeds +736 redBrick +737 stairsBrickMossy +738 stairsBrickCracked +739 grapevine +740 grapevineRed +741 grapevineWhite +742 stairsDorwinionBrickMossy +743 stairsDorwinionBrickCracked +744 stairsDorwinionBrickFlowers +745 wood7 +746 leaves7 +747 sapling7 +748 woodBeam7 +749 stairsAspen +750 mirkVines +751 stairsGreenOak +752 stairsLairelosse +753 stairsAlmond +754 slabSingleDirt +755 slabDoubleDirt +756 slabSingleSand +757 slabDoubleSand +758 slabSingleGravel +759 slabDoubleGravel +760 morgulFlower +761 blackroot +762 wood8 +763 leaves8 +764 sapling8 +765 planks3 +766 fence3 +767 woodSlabSingle5 +768 woodSlabDouble5 +769 woodBeam8 +770 stairsPlum +771 fallenLeavesLOTR3 +772 stairsGondorBrickRustic +773 stairsGondorBrickRusticMossy +774 stairsGondorBrickRusticCracked +775 slabSingle11 +776 slabDouble11 +777 whiteSand +778 whiteSandstone +779 stairsWhiteSandstone +780 treasureCopper +781 treasureSilver +782 treasureGold +783 chestLebethron +784 chestBasket +785 marigold +786 rhunFlower +787 chestMallorn +788 stairsCobblestoneMossy +789 marzipanBlock +790 mallornTorchBlue +791 mallornTorchGold +792 mallornTorchGreen +793 wallClayTile +794 wallClayTileDyed +795 ceramicMug +796 gobletGold +797 gobletSilver +798 gobletCopper +799 gobletWood +800 skullCup +801 wineGlass +802 glassBottle +803 aleHorn +804 aleHornGold +805 woodBeamS +806 birdCage +807 birdCageWood +808 gateRohan +809 signCarved +810 signCarvedIthildin +811 dwarvenDoorIthildin +812 smoothStoneV +813 smoothStone +814 slabSingle12 +815 slabDouble12 +816 stairsRhunBrick +817 stairsRhunBrickMossy +818 stairsRhunBrickCracked +819 stairsRhunBrickFlowers +820 brick6 +821 rhunCraftingTable +822 stairsRhunBrickRed +823 stairsRedwood +824 rhunFire +825 rhunFireJar +826 daub +827 gateRhun +828 yam +829 kebabBlock +830 stairsPomegranate +4096 goldRing +4097 pouch +4098 copper +4099 tin +4100 bronze +4101 silver +4102 mithril +4103 shovelBronze +4104 pickaxeBronze +4105 axeBronze +4106 swordBronze +4107 hoeBronze +4108 helmetBronze +4109 bodyBronze +4110 legsBronze +4111 bootsBronze +4112 silverNugget +4113 silverRing +4114 mithrilNugget +4115 mithrilRing +4116 hobbitPipe +4117 pipeweed +4118 clayMug +4119 mug +4120 mugWater +4121 mugMilk +4122 mugAle +4123 mugChocolate +4124 appleCrumble +4125 mugMiruvor +4126 mugOrcDraught +4127 scimitarOrc +4128 helmetOrc +4129 bodyOrc +4130 legsOrc +4131 bootsOrc +4132 orcSteel +4133 battleaxeOrc +4134 lembas +4135 naurite +4136 daggerOrc +4137 daggerOrcPoisoned +4138 sting +4139 spawnEgg +4140 pipeweedLeaf +4141 pipeweedSeeds +4142 structureSpawner +4143 lettuce +4144 shovelMithril +4145 pickaxeMithril +4146 axeMithril +4147 swordMithril +4148 hoeMithril +4149 orcTorch +4150 sauronMace +4151 gandalfStaffWhite +4152 swordGondor +4153 helmetGondor +4154 bodyGondor +4155 legsGondor +4156 bootsGondor +4157 helmetMithril +4158 bodyMithril +4159 legsMithril +4160 bootsMithril +4161 spearGondor +4162 spearOrc +4163 spearBronze +4164 spearIron +4165 spearMithril +4166 anduril +4167 dye +4168 mallornStick +4169 shovelMallorn +4170 pickaxeMallorn +4171 axeMallorn +4172 swordMallorn +4173 hoeMallorn +4174 shovelElven +4175 pickaxeElven +4176 axeElven +4177 swordElven +4178 hoeElven +4179 spearElven +4180 mallornBow +4181 helmetElven +4182 bodyElven +4183 legsElven +4184 bootsElven +4185 coin +4186 gammon +4187 clayPlate +4188 plate +4189 elvenBow +4190 wargFur +4191 helmetWarg +4192 bodyWarg +4193 legsWarg +4194 bootsWarg +4195 orcBow +4196 mugMead +4197 wargskinRug +4198 quenditeCrystal +4199 blacksmithHammer +4200 daggerGondor +4201 daggerElven +4202 hobbitRing +4203 elvenBed +4204 wargBone +4205 appleGreen +4206 pear +4207 cherry +4208 dwarfSteel +4209 shovelDwarven +4210 pickaxeDwarven +4211 axeDwarven +4212 swordDwarven +4213 hoeDwarven +4214 daggerDwarven +4215 battleaxeDwarven +4216 hammerDwarven +4217 shovelOrc +4218 pickaxeOrc +4219 axeOrc +4220 hoeOrc +4221 hammerOrc +4222 helmetDwarven +4223 bodyDwarven +4224 legsDwarven +4225 bootsDwarven +4226 galvorn +4227 helmetGalvorn +4228 bodyGalvorn +4229 legsGalvorn +4230 bootsGalvorn +4231 daggerBronze +4232 daggerIron +4233 daggerMithril +4234 battleaxeMithril +4235 hammerMithril +4236 hammerGondor +4237 orcBone +4238 elfBone +4239 dwarfBone +4240 hobbitBone +4241 commandHorn +4242 throwingAxeDwarven +4243 urukSteel +4244 shovelUruk +4245 pickaxeUruk +4246 axeUruk +4247 scimitarUruk +4248 hoeUruk +4249 daggerUruk +4250 daggerUrukPoisoned +4251 battleaxeUruk +4252 hammerUruk +4253 spearUruk +4254 helmetUruk +4255 bodyUruk +4256 legsUruk +4257 bootsUruk +4258 crossbowBolt +4259 urukCrossbow +4260 cherryPie +4261 trollBone +4262 trollStatue +4263 ironCrossbow +4264 mithrilCrossbow +4265 woodElvenBed +4266 helmetWoodElvenScout +4267 bodyWoodElvenScout +4268 legsWoodElvenScout +4269 bootsWoodElvenScout +4270 mirkwoodBow +4271 mugRedWine +4272 ancientParts +4273 ancient +4274 swordRohan +4275 daggerRohan +4276 spearRohan +4277 helmetRohan +4278 bodyRohan +4279 legsRohan +4280 bootsRohan +4281 helmetGondorWinged +4282 guldurilCrystal +4283 mallornNut +4284 dwarvenBed +4285 mugCider +4286 mugPerry +4287 mugCherryLiqueur +4288 mugRum +4289 mugAthelasBrew +4290 armorStand +4291 pebble +4292 sling +4293 mysteryWeb +4294 mugDwarvenTonic +4295 helmetRanger +4296 bodyRanger +4297 legsRanger +4298 bootsRanger +4299 helmetDunlending +4300 bodyDunlending +4301 legsDunlending +4302 bootsDunlending +4303 dunlendingClub +4304 dunlendingTrident +4305 entDraught +4306 mugDwarvenAle +4307 maggotyBread +4308 morgulSteel +4309 morgulBlade +4310 helmetMorgul +4311 bodyMorgul +4312 legsMorgul +4313 bootsMorgul +4314 leatherHat +4315 featherDyed +4316 mattockDwarven +4317 orcBed +4318 shovelWoodElven +4319 pickaxeWoodElven +4320 axeWoodElven +4321 swordWoodElven +4322 hoeWoodElven +4323 daggerWoodElven +4324 spearWoodElven +4325 helmetWoodElven +4326 bodyWoodElven +4327 legsWoodElven +4328 bootsWoodElven +4329 rabbitRaw +4330 rabbitCooked +4331 rabbitStew +4332 mugVodka +4333 sulfur +4334 saltpeter +4335 commandSword +4336 hobbitPancake +4337 bottlePoison +4338 daggerBronzePoisoned +4339 daggerIronPoisoned +4340 daggerMithrilPoisoned +4341 daggerGondorPoisoned +4342 daggerElvenPoisoned +4343 daggerDwarvenPoisoned +4344 daggerRohanPoisoned +4345 daggerWoodElvenPoisoned +4346 banner +4347 sulfurMatch +4348 swordAngmar +4349 daggerAngmar +4350 daggerAngmarPoisoned +4351 battleaxeAngmar +4352 hammerAngmar +4353 spearAngmar +4354 shovelAngmar +4355 pickaxeAngmar +4356 axeAngmar +4357 hoeAngmar +4358 helmetAngmar +4359 bodyAngmar +4360 legsAngmar +4361 bootsAngmar +4362 mango +4363 mugMangoJuice +4364 banana +4365 bananaBread +4366 bananaCake +4367 lionFur +4368 lionRaw +4369 lionCooked +4370 zebraRaw +4371 zebraCooked +4372 rhinoRaw +4373 rhinoCooked +4374 rhinoHorn +4375 battleaxeRohan +4376 lionBed +4377 scimitarNearHarad +4378 helmetNearHarad +4379 bodyNearHarad +4380 legsNearHarad +4381 bootsNearHarad +4382 gemsbokHide +4383 gemsbokHorn +4384 helmetGemsbok +4385 bodyGemsbok +4386 legsGemsbok +4387 bootsGemsbok +4388 mapleSyrup +4389 hobbitPancakeMapleSyrup +4390 mugMapleBeer +4391 helmetHighElven +4392 bodyHighElven +4393 legsHighElven +4394 bootsHighElven +4395 shovelHighElven +4396 pickaxeHighElven +4397 axeHighElven +4398 swordHighElven +4399 hoeHighElven +4400 daggerHighElven +4401 daggerHighElvenPoisoned +4402 spearHighElven +4403 highElvenBed +4404 daggerNearHarad +4405 daggerNearHaradPoisoned +4406 spearNearHarad +4407 nearHaradBow +4408 date +4409 mugAraq +4410 blueDwarfSteel +4411 shovelBlueDwarven +4412 pickaxeBlueDwarven +4413 axeBlueDwarven +4414 swordBlueDwarven +4415 hoeBlueDwarven +4416 daggerBlueDwarven +4417 daggerBlueDwarvenPoisoned +4418 battleaxeBlueDwarven +4419 hammerBlueDwarven +4420 mattockBlueDwarven +4421 throwingAxeBlueDwarven +4422 helmetBlueDwarven +4423 bodyBlueDwarven +4424 legsBlueDwarven +4425 bootsBlueDwarven +4426 dwarvenRing +4427 spearDwarven +4428 spearBlueDwarven +4429 horseArmorIron +4430 horseArmorGold +4431 horseArmorDiamond +4432 horseArmorGondor +4433 horseArmorRohan +4434 wargArmorUruk +4435 horseArmorHighElven +4436 horseArmorGaladhrim +4437 horseArmorMorgul +4438 horseArmorMithril +4439 elkArmorWoodElven +4440 wargArmorMordor +4441 wargArmorAngmar +4442 mugCarrotWine +4443 mugBananaBeer +4444 mugMelonLiqueur +4445 strawBed +4446 orcSkullStaff +4447 swordDolGuldur +4448 daggerDolGuldur +4449 daggerDolGuldurPoisoned +4450 spearDolGuldur +4451 shovelDolGuldur +4452 axeDolGuldur +4453 pickaxeDolGuldur +4454 hoeDolGuldur +4455 battleaxeDolGuldur +4456 hammerDolGuldur +4457 helmetDolGuldur +4458 bodyDolGuldur +4459 legsDolGuldur +4460 bootsDolGuldur +4461 dalishPastry +4462 redBook +4463 termite +4464 helmetUtumno +4465 bodyUtumno +4466 legsUtumno +4467 bootsUtumno +4468 flaxSeeds +4469 flax +4470 blueberry +4471 blackberry +4472 raspberry +4473 cranberry +4474 elderberry +4475 chestnut +4476 chestnutRoast +4477 blackUrukSteel +4478 scimitarBlackUruk +4479 daggerBlackUruk +4480 daggerBlackUrukPoisoned +4481 spearBlackUruk +4482 battleaxeBlackUruk +4483 hammerBlackUruk +4484 helmetBlackUruk +4485 bodyBlackUruk +4486 legsBlackUruk +4487 bootsBlackUruk +4488 blackUrukBow +4489 helmetNearHaradWarlord +4490 utumnoKey +4491 swordUtumno +4492 daggerUtumno +4493 daggerUtumnoPoisoned +4494 spearUtumno +4495 battleaxeUtumno +4496 hammerUtumno +4497 utumnoBow +4498 mugCactusLiqueur +4499 rohanBow +4500 gondorBow +4501 highElvenBow +4502 utumnoPickaxe +4503 balrogWhip +4504 battleaxeIron +4505 battleaxeBronze +4506 bronzeCrossbow +4507 conquestHorn +4508 helmetHalfTroll +4509 bodyHalfTroll +4510 legsHalfTroll +4511 bootsHalfTroll +4512 battleaxeHalfTroll +4513 hammerHalfTroll +4514 maceHalfTroll +4515 scimitarHalfTroll +4516 daggerHalfTroll +4517 daggerHalfTrollPoisoned +4518 mugTorogDraught +4519 berryPie +4520 mugBlueberryJuice +4521 mugBlackberryJuice +4522 mugRaspberryJuice +4523 mugCranberryJuice +4524 mugElderberryJuice +4525 rhinoArmorHalfTroll +4526 helmetDwarvenSilver +4527 bodyDwarvenSilver +4528 legsDwarvenSilver +4529 bootsDwarvenSilver +4530 helmetDwarvenGold +4531 bodyDwarvenGold +4532 legsDwarvenGold +4533 bootsDwarvenGold +4534 helmetDwarvenMithril +4535 bodyDwarvenMithril +4536 legsDwarvenMithril +4537 bootsDwarvenMithril +4538 torogStew +4539 elfSteel +4540 swordDolAmroth +4541 helmetDolAmroth +4542 bodyDolAmroth +4543 legsDolAmroth +4544 bootsDolAmroth +4545 horseArmorDolAmroth +4546 swanFeather +4547 daggerMoredain +4548 daggerMoredainPoisoned +4549 battleaxeMoredain +4550 spearMoredain +4551 helmetMoredain +4552 bodyMoredain +4553 legsMoredain +4554 bootsMoredain +4555 helmetMoredainLion +4556 bodyMoredainLion +4557 legsMoredainLion +4558 bootsMoredainLion +4559 helmetHaradRobes +4560 bodyHaradRobes +4561 legsHaradRobes +4562 bootsHaradRobes +4563 helmetBone +4564 bodyBone +4565 legsBone +4566 bootsBone +4567 cram +4568 throwingAxeBronze +4569 throwingAxeIron +4570 bossTrophy +4571 swordGondolin +4572 maceMallornCharred +4573 lemon +4574 lemonCake +4575 orange +4576 mugOrangeJuice +4577 mugLemonLiqueur +4578 mugLemonade +4579 helmetGondolin +4580 bodyGondolin +4581 legsGondolin +4582 bootsGondolin +4583 lime +4584 mugLimeLiqueur +4585 helmetRohanMarshal +4586 bodyRohanMarshal +4587 legsRohanMarshal +4588 bootsRohanMarshal +4589 obsidianShard +4590 shovelTauredain +4591 pickaxeTauredain +4592 axeTauredain +4593 hoeTauredain +4594 daggerTauredain +4595 daggerTauredainPoisoned +4596 spearTauredain +4597 swordTauredain +4598 helmetTauredain +4599 bodyTauredain +4600 legsTauredain +4601 bootsTauredain +4602 helmetTauredainChieftain +4603 poleaxeNearHarad +4604 pikeUruk +4605 horseArmorNearHarad +4606 polearmOrc +4607 lanceDolAmroth +4608 polearmHighElven +4609 polearmElven +4610 polearmWoodElven +4611 tauredainBlowgun +4612 tauredainDart +4613 tauredainDartPoisoned +4614 daggerBarrow +4615 daggerBarrowPoisoned +4616 muttonRaw +4617 muttonCooked +4618 maceNearHarad +4619 mugTauredainCocoa +4620 hithlain +4621 helmetHithlain +4622 bodyHithlain +4623 legsHithlain +4624 bootsHithlain +4625 boarArmorDwarven +4626 boarArmorBlueDwarven +4627 pikeHalfTroll +4628 pikeIron +4629 tauredainDoubleTorch +4630 helmetTauredainGold +4631 bodyTauredainGold +4632 legsTauredainGold +4633 bootsTauredainGold +4634 mugTauredainCure +4635 tauredainAmulet +4636 pikeDwarven +4637 pikeBlueDwarven +4638 corn +4639 daggerDolAmroth +4640 daggerDolAmrothPoisoned +4641 helmetGundabadUruk +4642 bodyGundabadUruk +4643 legsGundabadUruk +4644 bootsGundabadUruk +4645 lanceGondor +4646 swordGundabadUruk +4647 battleaxeGundabadUruk +4648 hammerGundabadUruk +4649 helmetUrukBerserker +4650 scimitarUrukBerserker +4651 mugCornLiquor +4652 gateGear +4653 wargFurBed +4654 deerRaw +4655 deerCooked +4656 kebab +4657 lanceRohan +4658 cornCooked +4659 shishKebab +4660 longspearElven +4661 longspearHighElven +4662 longspearWoodElven +4663 ringil +4664 halberdMithril +4665 leek +4666 leekSoup +4667 turnip +4668 camelRaw +4669 camelCooked +4670 swordDale +4671 daggerDale +4672 daggerDalePoisoned +4673 spearDale +4674 battleaxeDale +4675 helmetDale +4676 bodyDale +4677 legsDale +4678 bootsDale +4679 helmetDorwinion +4680 bodyDorwinion +4681 legsDorwinion +4682 bootsDorwinion +4683 helmetDorwinionElf +4684 bodyDorwinionElf +4685 legsDorwinionElf +4686 bootsDorwinionElf +4687 spearBladorthin +4688 olive +4689 daleBow +4690 mugAppleJuice +4691 horseArmorDale +4692 npcRespawner +4693 helmetRangerIthilien +4694 bodyRangerIthilien +4695 legsRangerIthilien +4696 bootsRangerIthilien +4697 daggerGundabadUruk +4698 daggerGundabadUrukPoisoned +4699 spearGundabadUruk +4700 pikeGundabadUruk +4701 gundabadUrukBow +4702 hammerTauredain +4703 swordDorwinionElf +4704 daggerDorwinionElf +4705 daggerDorwinionElfPoisoned +4706 battleaxeTauredain +4707 pikeTauredain +4708 clubMoredain +4709 oliveBread +4710 pikeDale +4711 rollingPin +4712 grapeRed +4713 grapeWhite +4714 seedsGrapeRed +4715 seedsGrapeWhite +4716 mugWhiteWine +4717 mugRedGrapeJuice +4718 mugWhiteGrapeJuice +4719 polearmAngmar +4720 pikeDolGuldur +4721 turnipCooked +4722 kineArawHorn +4723 melonSoup +4724 ceramicMug +4725 pikeNearHarad +4726 almond +4727 wildberry +4728 blackrootStick +4729 plum +4730 helmetLossarnach +4731 bodyLossarnach +4732 legsLossarnach +4733 bootsLossarnach +4734 helmetPelargir +4735 bodyPelargir +4736 legsPelargir +4737 bootsPelargir +4738 helmetPinnathGelin +4739 bodyPinnathGelin +4740 legsPinnathGelin +4741 bootsPinnathGelin +4742 battleaxeLossarnach +4743 throwingAxeLossarnach +4744 swordPelargir +4745 tridentPelargir +4746 mugMorgulDraught +4747 helmetBlackroot +4748 bodyBlackroot +4749 legsBlackroot +4750 bootsBlackroot +4751 blackrootBow +4752 pikeGondor +4753 bodyDolAmrothGambeson +4754 legsDolAmrothGambeson +4755 longspearDolAmroth +4756 mugPlumKvass +4757 bodyGondorGambeson +4758 bodyLebenninGambeson +4759 spearStone +4760 marzipan +4761 marzipanChocolate +4762 daleCracker +4763 partyHat +4764 helmetLamedon +4765 bodyLamedon +4766 legsLamedon +4767 bootsLamedon +4768 horseArmorLamedon +4769 bodyLamedonJacket +4770 gobletGold +4771 gobletSilver +4772 gobletCopper +4773 gobletWood +4774 skullCup +4775 wineGlass +4776 bodyDaleGambeson +4777 waterskin +4778 aleHorn +4779 aleHornGold +4780 horn +4781 chisel +4782 ithildin +4783 chiselIthildin +4784 helmetArnor +4785 bodyArnor +4786 legsArnor +4787 bootsArnor +4788 rangerBow +4789 swordRhun +4790 daggerRhun +4791 daggerRhunPoisoned +4792 spearRhun +4793 polearmRhun +4794 pikeRhun +4795 helmetRhun +4796 bodyRhun +4797 legsRhun +4798 bootsRhun +4799 rhunBow +4800 horseArmorRhunGold +4801 gildedIron +4802 mugTermiteTequila +4803 rhunFirePot +4804 yam +4805 yamRoast +4806 bodyKaftan +4807 legsKaftan +4808 helmetRhunGold +4809 bodyRhunGold +4810 legsRhunGold +4811 bootsRhunGold +4812 helmetRhunWarlord +4813 mugSourMilk +4814 pomegranate +4815 mugPomegranateJuice +4816 mugPomegranateWine +4817 dorwinionElfBow +4818 mattockMithril diff --git a/31/lotr31.items.textures.txt b/31/lotr31.items.textures.txt new file mode 100644 index 0000000..043f755 --- /dev/null +++ b/31/lotr31.items.textures.txt @@ -0,0 +1,863 @@ +aleHornGold.png +aleHorn.png +almond.png +ancient_body.png +ancient_boots.png +ancient_dagger.png +ancient_helmet.png +ancient_legs.png +ancientParts_armorPlate.png +ancientParts_swordBlade.png +ancientParts_swordHilt.png +ancientParts_swordTip.png +ancient_sword.png +anduril.png +appleCrumble.png +appleGreen.png +armorStand.png +axeAngmar.png +axeBlueDwarven.png +axeBronze.png +axeDolGuldur.png +axeDwarven.png +axeElven.png +axeHighElven.png +axeMallorn.png +axeMithril.png +axeOrc.png +axeTauredain.png +axeUruk.png +axeWoodElven.png +balrogWhip.png +bananaBread.png +bananaCake.png +banana.png +banner_angmar.png +banner_anorien.png +banner_blackrootVale.png +banner_blackUruk.png +banner_blueMountains.png +banner_dale.png +banner_dolAmroth.png +banner_dolGuldur.png +banner_dorwinion.png +banner_dunland.png +banner_durin.png +banner_gondor.png +banner_gondorSteward.png +banner_gundabad.png +banner_halfTroll.png +banner_highElf.png +banner_hobbit.png +banner_isengard.png +banner_ithilien.png +banner_lamedon.png +banner_lebennin.png +banner_lossarnach.png +banner_lothlorien.png +banner_minasMorgul.png +banner_mirkwood.png +banner_mordor.png +banner_moredain.png +banner_nanUngol.png +banner_nearHarad.png +banner_pelargir.png +banner_pinnathGelin.png +banner_ranger.png +banner_rhudaur.png +banner_rhun.png +banner_rohan.png +banner_tauredain.png +barrel_emptyBucketSlot.png +barrel_emptyMugSlot.png +battleaxeAngmar.png +battleaxeBlackUruk.png +battleaxeBlueDwarven.png +battleaxeBronze.png +battleaxeDale.png +battleaxeDolGuldur.png +battleaxeDwarven.png +battleaxeGundabadUruk.png +battleaxeHalfTroll.png +battleaxeIron.png +battleaxeLossarnach.png +battleaxeMithril.png +battleaxeMoredain.png +battleaxeOrc.png +battleaxeRohan.png +battleaxeTauredain.png +battleaxeUruk.png +battleaxeUtumno.png +berryPie.png +blackberry.png +blackrootBow.png +blackrootStick.png +blacksmithHammer.png +blackUrukBow.png +blackUrukSteel.png +blueberry.png +blueDwarfSteel.png +boarArmorBlueDwarven.png +boarArmorDwarven.png +bodyAngmar.png +bodyArnor.png +bodyBlackroot.png +bodyBlackUruk.png +bodyBlueDwarven.png +bodyBone.png +bodyBronze.png +bodyDaleGambeson.png +bodyDale.png +bodyDolAmrothGambeson.png +bodyDolAmroth.png +bodyDolGuldur.png +bodyDorwinionElf.png +bodyDorwinion.png +bodyDunlending.png +bodyDwarvenGold.png +bodyDwarvenMithril.png +bodyDwarven.png +bodyDwarvenSilver.png +bodyElven.png +bodyGalvorn.png +bodyGemsbok.png +bodyGondolin.png +bodyGondorGambeson.png +bodyGondor.png +bodyGundabadUruk.png +bodyHalfTroll.png +bodyHaradRobes.png +bodyHighElven.png +bodyHithlain.png +bodyKaftan_overlay.png +bodyKaftan.png +bodyLamedonJacket.png +bodyLamedon.png +bodyLebenninGambeson.png +bodyLossarnach.png +bodyMithril.png +bodyMoredainLion.png +bodyMoredain.png +bodyMorgul.png +bodyNearHarad.png +bodyOrc.png +bodyPelargir.png +bodyPinnathGelin.png +bodyRangerIthilien.png +bodyRanger.png +bodyRhunGold.png +bodyRhun.png +bodyRohanMarshal.png +bodyRohan.png +bodyTauredainGold.png +bodyTauredain.png +bodyUruk.png +bodyUtumno.png +bodyWarg.png +bodyWoodElven.png +bodyWoodElvenScout.png +bootsAngmar.png +bootsArnor.png +bootsBlackroot.png +bootsBlackUruk.png +bootsBlueDwarven.png +bootsBone.png +bootsBronze.png +bootsDale.png +bootsDolAmroth.png +bootsDolGuldur.png +bootsDorwinionElf.png +bootsDorwinion.png +bootsDunlending.png +bootsDwarvenGold.png +bootsDwarvenMithril.png +bootsDwarven.png +bootsDwarvenSilver.png +bootsElven.png +bootsGalvorn.png +bootsGemsbok.png +bootsGondolin.png +bootsGondor.png +bootsGundabadUruk.png +bootsHalfTroll.png +bootsHaradRobes.png +bootsHighElven.png +bootsHithlain.png +bootsLamedon.png +bootsLossarnach.png +bootsMithril.png +bootsMoredainLion.png +bootsMoredain.png +bootsMorgul.png +bootsNearHarad.png +bootsOrc.png +bootsPelargir.png +bootsPinnathGelin.png +bootsRangerIthilien.png +bootsRanger.png +bootsRhunGold.png +bootsRhun.png +bootsRohanMarshal.png +bootsRohan.png +bootsTauredainGold.png +bootsTauredain.png +bootsUruk.png +bootsUtumno.png +bootsWarg.png +bootsWoodElven.png +bootsWoodElvenScout.png +bossTrophy_mallornEnt.png +bossTrophy_mtc.png +bottlePoison.png +bronzeCrossbow.png +bronzeCrossbow_pull_0.png +bronzeCrossbow_pull_1.png +bronzeCrossbow_pull_2.png +bronze.png +camelCooked.png +camelRaw.png +ceramicMug.png +cherryPie.png +cherry.png +chestnut.png +chestnutRoast.png +chiselIthildin.png +chisel.png +clayMug.png +clayPlate.png +clubMoredain.png +coin_100.png +coin_10.png +coin_1.png +commandHorn.png +commandSword.png +conquestHorn_base.png +conquestHorn_overlay.png +copper.png +cornCooked.png +corn.png +cornStalk.png +cram.png +cranberry.png +crossbowBolt.png +daggerAngmar.png +daggerAngmarPoisoned.png +daggerBarrow.png +daggerBarrowPoisoned.png +daggerBlackUruk.png +daggerBlackUrukPoisoned.png +daggerBlueDwarven.png +daggerBlueDwarvenPoisoned.png +daggerBronze.png +daggerBronzePoisoned.png +daggerDale.png +daggerDalePoisoned.png +daggerDolAmroth.png +daggerDolAmrothPoisoned.png +daggerDolGuldur.png +daggerDolGuldurPoisoned.png +daggerDorwinionElf_glowing.png +daggerDorwinionElf.png +daggerDorwinionElfPoisoned_glowing.png +daggerDorwinionElfPoisoned.png +daggerDwarven.png +daggerDwarvenPoisoned.png +daggerElven_glowing.png +daggerElven.png +daggerElvenPoisoned_glowing.png +daggerElvenPoisoned.png +daggerGondor.png +daggerGondorPoisoned.png +daggerGundabadUruk.png +daggerGundabadUrukPoisoned.png +daggerHalfTroll.png +daggerHalfTrollPoisoned.png +daggerHighElven_glowing.png +daggerHighElven.png +daggerHighElvenPoisoned_glowing.png +daggerHighElvenPoisoned.png +daggerIron.png +daggerIronPoisoned.png +daggerMithril.png +daggerMithrilPoisoned.png +daggerMoredain.png +daggerMoredainPoisoned.png +daggerNearHarad.png +daggerNearHaradPoisoned.png +daggerOrc.png +daggerOrcPoisoned.png +daggerRhun.png +daggerRhunPoisoned.png +daggerRohan.png +daggerRohanPoisoned.png +daggerTauredain.png +daggerTauredainPoisoned.png +daggerUruk.png +daggerUrukPoisoned.png +daggerUtumno.png +daggerUtumnoPoisoned.png +daggerWoodElven_glowing.png +daggerWoodElven.png +daggerWoodElvenPoisoned_glowing.png +daggerWoodElvenPoisoned.png +daleBow.png +daleCracker_blue.png +daleCracker_gold.png +daleCracker_green.png +daleCracker_red.png +daleCracker_silver.png +dalishPastry.png +date.png +deerCooked.png +deerRaw.png +dorwinionElfBow.png +driedReeds.png +drink_bottle.png +drink_clay.png +drink_glass.png +drink_gobletCopper.png +drink_gobletGold.png +drink_gobletSilver.png +drink_gobletWood.png +drink_hornGold.png +drink_horn.png +drink_mug.png +drink_skin.png +drink_skull.png +dunlendingClub.png +dunlendingTrident.png +dwarfBone.png +dwarfSteel.png +dwarvenBed.png +dwarvenRing.png +dye_bluebell.png +dye_brown.png +dye_charcoal.png +dye_elanor.png +dye_green.png +dye_niphredil.png +elderberry.png +elfBone.png +elfSteel.png +elkArmorWoodElven.png +elvenBed.png +elvenBow.png +entDraught_blue.png +entDraught_brown.png +entDraught_gold.png +entDraught_green.png +entDraught_red.png +entDraught_silver.png +entDraught_yellow.png +flax.png +flaxSeeds.png +galvorn.png +gammon.png +gandalfStaffWhite.png +gateGear.png +gemsbokHide.png +gemsbokHorn.png +gildedIron.png +gobletCopper.png +gobletGold.png +gobletSilver.png +gobletWood.png +goldRing.png +gondorBow.png +grapeRed.png +grapeWhite.png +guldurilCrystal.png +gundabadUrukBow.png +halberdMithril.png +hammerAngmar.png +hammerBlackUruk.png +hammerBlueDwarven.png +hammerDolGuldur.png +hammerDwarven.png +hammerGondor.png +hammerGundabadUruk.png +hammerHalfTroll.png +hammerMithril.png +hammerOrc.png +hammerTauredain.png +hammerUruk.png +hammerUtumno.png +helmetAngmar.png +helmetArnor.png +helmetBlackroot.png +helmetBlackUruk.png +helmetBlueDwarven.png +helmetBone.png +helmetBronze.png +helmetDale.png +helmetDolAmroth.png +helmetDolGuldur.png +helmetDorwinionElf.png +helmetDorwinion.png +helmetDunlending.png +helmetDwarvenGold.png +helmetDwarvenMithril.png +helmetDwarven.png +helmetDwarvenSilver.png +helmetElven.png +helmetGalvorn.png +helmetGemsbok.png +helmetGondolin.png +helmetGondor.png +helmetGondorWinged.png +helmetGundabadUruk.png +helmetHalfTroll.png +helmetHaradRobes_ornament.png +helmetHaradRobes.png +helmetHighElven.png +helmetHithlain.png +helmetLamedon.png +helmetLossarnach.png +helmetMithril.png +helmetMoredainLion.png +helmetMoredain.png +helmetMorgul.png +helmetNearHarad.png +helmetNearHaradWarlord.png +helmetOrc.png +helmetPelargir.png +helmetPinnathGelin.png +helmetRangerIthilien.png +helmetRanger.png +helmetRhunGold.png +helmetRhun.png +helmetRhunWarlord.png +helmetRohanMarshal.png +helmetRohan.png +helmetTauredainChieftain.png +helmetTauredainGold.png +helmetTauredain.png +helmetUrukBerserker.png +helmetUruk.png +helmetUtumno.png +helmetWarg.png +helmetWoodElven.png +helmetWoodElvenScout.png +highElvenBed.png +highElvenBow.png +hithlain.png +hobbitBone.png +hobbitPancakeMapleSyrup.png +hobbitPancake.png +hobbitPipe.png +hobbitRing.png +hoeAngmar.png +hoeBlueDwarven.png +hoeBronze.png +hoeDolGuldur.png +hoeDwarven.png +hoeElven.png +hoeHighElven.png +hoeMallorn.png +hoeMithril.png +hoeOrc.png +hoeTauredain.png +hoeUruk.png +hoeWoodElven.png +horn.png +horseArmorDale.png +horseArmorDolAmroth.png +horseArmorGaladhrim.png +horseArmorGondor.png +horseArmorHighElven.png +horseArmorLamedon.png +horseArmorMithril.png +horseArmorMorgul.png +horseArmorNearHarad.png +horseArmorRhunGold.png +horseArmorRohan.png +ironCrossbow.png +ironCrossbow_pull_0.png +ironCrossbow_pull_1.png +ironCrossbow_pull_2.png +ithildin.png +kebab.png +kebabStand.png +kebabStandSand.png +kineArawHorn.png +lanceDolAmroth.png +lanceGondor.png +lanceRohan.png +leatherHat_feather.png +leatherHat.png +leek.png +leekSoup.png +legsAngmar.png +legsArnor.png +legsBlackroot.png +legsBlackUruk.png +legsBlueDwarven.png +legsBone.png +legsBronze.png +legsDale.png +legsDolAmrothGambeson.png +legsDolAmroth.png +legsDolGuldur.png +legsDorwinionElf.png +legsDorwinion.png +legsDunlending.png +legsDwarvenGold.png +legsDwarvenMithril.png +legsDwarven.png +legsDwarvenSilver.png +legsElven.png +legsGalvorn.png +legsGemsbok.png +legsGondolin.png +legsGondor.png +legsGundabadUruk.png +legsHalfTroll.png +legsHaradRobes.png +legsHighElven.png +legsHithlain.png +legsKaftan_overlay.png +legsKaftan.png +legsLamedon.png +legsLossarnach.png +legsMithril.png +legsMoredainLion.png +legsMoredain.png +legsMorgul.png +legsNearHarad.png +legsOrc.png +legsPelargir.png +legsPinnathGelin.png +legsRangerIthilien.png +legsRanger.png +legsRhunGold.png +legsRhun.png +legsRohanMarshal.png +legsRohan.png +legsTauredainGold.png +legsTauredain.png +legsUruk.png +legsUtumno.png +legsWarg.png +legsWoodElven.png +legsWoodElvenScout.png +lembas.png +lemonCake.png +lemon.png +lettuce.png +lime.png +lionBed.png +lionCooked.png +lionFur.png +lionRaw.png +longspearDolAmroth.png +longspearElven.png +longspearHighElven.png +longspearWoodElven.png +maceHalfTroll.png +maceMallornCharred.png +maceNearHarad.png +maggotyBread.png +mallornBow.png +mallornNut.png +mallornStick.png +mango.png +mapleSyrup.png +marzipanChocolate.png +marzipan.png +mattockBlueDwarven.png +mattockDwarven.png +mattockMithril.png +melonSoup.png +mirkwoodBow.png +mithrilCrossbow.png +mithrilCrossbow_pull_0.png +mithrilCrossbow_pull_1.png +mithrilCrossbow_pull_2.png +mithrilNugget.png +mithril.png +mithrilRing.png +morgulBlade.png +morgulShroom.png +morgulSteel.png +mugAle_liquid.png +mugAppleJuice_liquid.png +mugAraq_liquid.png +mugAthelasBrew_liquid.png +mugBananaBeer_liquid.png +mugBlackberryJuice_liquid.png +mugBlueberryJuice_liquid.png +mugCactusLiqueur_liquid.png +mugCarrotWine_liquid.png +mugCherryLiqueur_liquid.png +mugChocolate_liquid.png +mugCider_liquid.png +mugCornLiquor_liquid.png +mugCranberryJuice_liquid.png +mugDwarvenAle_liquid.png +mugDwarvenTonic_liquid.png +mugElderberryJuice_liquid.png +mugLemonade_liquid.png +mugLemonLiqueur_liquid.png +mugLimeLiqueur_liquid.png +mugMangoJuice_liquid.png +mugMapleBeer_liquid.png +mugMead_liquid.png +mugMelonLiqueur_liquid.png +mugMilk_liquid.png +mugMiruvor_liquid.png +mugMorgulDraught_liquid.png +mugOrangeJuice_liquid.png +mugOrcDraught_liquid.png +mugPerry_liquid.png +mugPlumKvass_liquid.png +mug.png +mugPomegranateJuice_liquid.png +mugPomegranateWine_liquid.png +mugRaspberryJuice_liquid.png +mugRedGrapeJuice_liquid.png +mugRedWine_liquid.png +mugRum_liquid.png +mugSourMilk_liquid.png +mugTauredainCocoa_liquid.png +mugTauredainCure_liquid.png +mugTermiteTequila_liquid.png +mugTorogDraught_liquid.png +mugVodka_liquid.png +mugWater_liquid.png +mugWhiteGrapeJuice_liquid.png +mugWhiteWine_liquid.png +muttonCooked.png +muttonRaw.png +mysteryWeb.png +naurite.png +nearHaradBow.png +npcRespawner.png +obsidianShard.png +oliveBread.png +olive.png +orange.png +orcBed.png +orcBone.png +orcBow.png +orcSkullStaff.png +orcSteel.png +orcTorch.png +partyHat.png +pear.png +pebble.png +pickaxeAngmar.png +pickaxeBlueDwarven.png +pickaxeBronze.png +pickaxeDolGuldur.png +pickaxeDwarven.png +pickaxeElven.png +pickaxeHighElven.png +pickaxeMallorn.png +pickaxeMithril.png +pickaxeOrc.png +pickaxeTauredain.png +pickaxeUruk.png +pickaxeWoodElven.png +pikeBlueDwarven.png +pikeDale.png +pikeDolGuldur.png +pikeDwarven.png +pikeGondor.png +pikeGundabadUruk.png +pikeHalfTroll.png +pikeIron.png +pikeNearHarad.png +pikeRhun.png +pikeTauredain.png +pikeUruk.png +pipeweedLeaf.png +pipeweed.png +pipeweedSeeds.png +plate.png +plum.png +polearmAngmar.png +polearmElven.png +polearmHighElven.png +polearmOrc.png +polearmRhun.png +polearmWoodElven.png +poleaxeNearHarad.png +pomegranate.png +pouch_large_open_overlay.png +pouch_large_open.png +pouch_large_overlay.png +pouch_large.png +pouch_medium_open_overlay.png +pouch_medium_open.png +pouch_medium_overlay.png +pouch_medium.png +pouch_small_open_overlay.png +pouch_small_open.png +pouch_small_overlay.png +pouch_small.png +quenditeCrystal.png +questOffer.png +rabbitCooked.png +rabbitRaw.png +rabbitStew.png +rangerBow.png +raspberry.png +redBook.png +reeds.png +rhinoArmorHalfTroll.png +rhinoCooked.png +rhinoHorn.png +rhinoRaw.png +rhunBow.png +rhunFirePot.png +ringil_glowing.png +ringil.png +rohanBow.png +rollingPin.png +saltpeter.png +sauronMace.png +sax.png +scimitarBlackUruk.png +scimitarHalfTroll.png +scimitarNearHarad.png +scimitarOrc.png +scimitarUrukBerserker.png +scimitarUruk.png +seedsGrapeRed.png +seedsGrapeWhite.png +shishKebab.png +shovelAngmar.png +shovelBlueDwarven.png +shovelBronze.png +shovelDolGuldur.png +shovelDwarven.png +shovelElven.png +shovelHighElven.png +shovelMallorn.png +shovelMithril.png +shovelOrc.png +shovelTauredain.png +shovelUruk.png +shovelWoodElven.png +silverNugget.png +silver.png +silverRing.png +skullCup.png +sling.png +slotBomb.png +slotMelee.png +spearAngmar.png +spearBlackUruk.png +spearBladorthin.png +spearBlueDwarven.png +spearBronze.png +spearDale.png +spearDolGuldur.png +spearDwarven.png +spearElven.png +spearGondor.png +spearGundabadUruk.png +spearHighElven.png +spearIron.png +spearMithril.png +spearMoredain.png +spearNearHarad.png +spearOrc.png +spearRhun.png +spearRohan.png +spearStone.png +spearTauredain.png +spearUruk.png +spearUtumno.png +spearWoodElven.png +sting_glowing.png +sting.png +strawBed.png +structureSpawner_base.png +structureSpawner_overlay.png +structureSpawner_village_base.png +structureSpawner_village_overlay.png +sulfurMatch.png +sulfur.png +swanFeather.png +swordAngmar.png +swordBlueDwarven.png +swordBronze.png +swordDale.png +swordDolAmroth.png +swordDolGuldur.png +swordDorwinionElf_glowing.png +swordDorwinionElf.png +swordDwarven.png +swordElven_glowing.png +swordElven.png +swordGondolin_glowing.png +swordGondolin.png +swordGondor.png +swordGundabadUruk.png +swordHighElven_glowing.png +swordHighElven.png +swordMallorn.png +swordMithril.png +swordPelargir.png +swordRhun.png +swordRohan.png +swordTauredain.png +swordUtumno.png +swordWoodElven_glowing.png +swordWoodElven.png +tauredainAmulet.png +tauredainBlowgun.png +tauredainDart.png +tauredainDartPoisoned.png +tauredainDoubleTorch.png +termite.png +throwingAxeBlueDwarven.png +throwingAxeBronze.png +throwingAxeDwarven.png +throwingAxeIron.png +throwingAxeLossarnach.png +tin.png +torogStew.png +tridentPelargir.png +trollBone.png +trollStatue.png +turnipCooked.png +turnip.png +urukCrossbow.png +urukCrossbow_pull_0.png +urukCrossbow_pull_1.png +urukCrossbow_pull_2.png +urukSteel.png +utumnoBow.png +utumnoKey_ice0.png +utumnoKey_ice1.png +utumnoKey_ice2.png +utumnoKey_ice.png +utumnoKey_obsidian0.png +utumnoKey_obsidian1.png +utumnoKey_obsidian2.png +utumnoKey_obsidian.png +utumnoPickaxe.png +wargArmorAngmar.png +wargArmorMordor.png +wargArmorUruk.png +wargBone.png +wargFurBed.png +wargFur.png +wargskinRug_black.png +wargskinRug_brown.png +wargskinRug_fire.png +wargskinRug_grey.png +wargskinRug_ice.png +wargskinRug_obsidian.png +wargskinRug_white.png +waterskin.png +weaponRack.png +wildberry.png +wineGlass.png +woodElvenBed.png +yam.png +yamRoast.png +zebraCooked.png +zebraRaw.png diff --git a/31/lotr_textures.py b/31/lotr_textures.py new file mode 100644 index 0000000..a1384a3 --- /dev/null +++ b/31/lotr_textures.py @@ -0,0 +1,2565 @@ +# { LotrSupportInOverviewer 11 +# @(#) LotrSupportInOverviewer:lotr_textures.py v1.10 (2016-11-28) / Hubert Tournier + +################################################################################ +# Opaque single-texture full blocks without data value: ######################## +################################################################################ + +block(blockid=, top_image="assets/lotr/textures/blocks/oreCopper.png") +block(blockid=, top_image="assets/lotr/textures/blocks/oreTin.png") +block(blockid=, top_image="assets/lotr/textures/blocks/oreSilver.png") +block(blockid=, top_image="assets/lotr/textures/blocks/oreMithril.png") +block(blockid=, top_image="assets/lotr/textures/blocks/oreNaurite.png") +block(blockid=, top_image="assets/lotr/textures/blocks/oreQuendite.png") +block(blockid=, top_image="assets/lotr/textures/blocks/oreGlowstone.png") +block(blockid=, top_image="assets/lotr/textures/blocks/remains.png") +block(blockid=, top_image="assets/lotr/textures/blocks/oreSulfur.png") +block(blockid=, top_image="assets/lotr/textures/blocks/oreSaltpeter.png") +block(blockid=, top_image="assets/lotr/textures/blocks/quagmire.png") +block(blockid=, top_image="assets/lotr/textures/blocks/goran.png") +block(blockid=, top_image="assets/lotr/textures/blocks/thatch.png") +block(blockid=, top_image="assets/lotr/textures/blocks/termiteMound.png") +block(blockid=, top_image="assets/lotr/textures/blocks/mordorDirt.png") +block(blockid=, top_image="assets/lotr/textures/blocks/mordorGravel.png") +block(blockid=, top_image="assets/lotr/textures/blocks/obsidianGravel.png") +block(blockid=, top_image="assets/lotr/textures/blocks/mud.png") +block(blockid=, top_image="assets/minecraft/textures/blocks/stone.png") +block(blockid=, top_image="assets/lotr/textures/blocks/planksRotten_rotten.png") +block(blockid=, top_image="assets/lotr/textures/blocks/scorchedStone.png") +block(blockid=, top_image="assets/lotr/textures/blocks/wasteBlock.png") +block(blockid=, top_image="assets/lotr/textures/blocks/dirtPath.png") +block(blockid=, top_image="assets/lotr/textures/blocks/clayTile.png") + +################################################################################ +# Opaque single-texture full blocks with data value: ########################### +################################################################################ + +@material(blockid=, data=range(5), solid=True) +def rock_values(self, blockid, data): + # Mordor Rock + t = self.load_image_texture("assets/lotr/textures/blocks/rock_mordor.png") + if data == 1: # Gondor Rock + t = self.load_image_texture("assets/lotr/textures/blocks/rock_gondor.png") + elif data == 2: # Rohan Rock + t = self.load_image_texture("assets/lotr/textures/blocks/rock_rohan.png") + elif data == 3: # Sarlluin + t = self.load_image_texture("assets/lotr/textures/blocks/rock_blue.png") + elif data == 4: # Sarncaran + t = self.load_image_texture("assets/lotr/textures/blocks/rock_red.png") + return self.build_block(t, t) + +@material(blockid=, data=range(2), solid=True) +def oreMorgulIron_values(self, blockid, data): + # Morgul Iron Ore + t = self.load_image_texture("assets/lotr/textures/blocks/oreMorgulIron.png") + if data == 1: # Morgul Iron Ore (Mordor) + t = self.load_image_texture("assets/lotr/textures/blocks/oreMorgulIron_mordor.png") + return self.build_block(t, t) + +@material(blockid=, data=range(2), solid=True) +def oreGulduril_values(self, blockid, data): + # Gulduril Ore + t = self.load_image_texture("assets/lotr/textures/blocks/oreGulduril.png") + if data == 1: # Gulduril Ore (Mordor) + t = self.load_image_texture("assets/lotr/textures/blocks/oreGulduril_mordor.png") + return self.build_block(t, t) + +@material(blockid=, data=range(16), solid=True) +def oreStorage_values(self, blockid, data): + # Block of Copper + img = self.build_block(self.load_image_texture("assets/lotr/textures/blocks/oreStorage_copper.png"), self.load_image_texture("assets/lotr/textures/blocks/oreStorage_copper.png")) + if data == 1: # Block of Tin + img = self.build_block(self.load_image_texture("assets/lotr/textures/blocks/oreStorage_tin.png"), self.load_image_texture("assets/lotr/textures/blocks/oreStorage_tin.png")) + elif data == 2: # Block of Bronze + img = self.build_block(self.load_image_texture("assets/lotr/textures/blocks/oreStorage_bronze.png"), self.load_image_texture("assets/lotr/textures/blocks/oreStorage_bronze.png")) + elif data == 3: # Block of Silver + img = self.build_block(self.load_image_texture("assets/lotr/textures/blocks/oreStorage_silver.png"), self.load_image_texture("assets/lotr/textures/blocks/oreStorage_silver.png")) + elif data == 4: # Block of Mithril + img = self.build_block(self.load_image_texture("assets/lotr/textures/blocks/oreStorage_mithril.png"), self.load_image_texture("assets/lotr/textures/blocks/oreStorage_mithril.png")) + elif data == 5: # Block of Orc Steel + img = self.build_block(self.load_image_texture("assets/lotr/textures/blocks/oreStorage_orcSteel.png"), self.load_image_texture("assets/lotr/textures/blocks/oreStorage_orcSteel_side.png")) + elif data == 6: # Block of Quendite + img = self.build_block(self.load_image_texture("assets/lotr/textures/blocks/oreStorage_quendite.png"), self.load_image_texture("assets/lotr/textures/blocks/oreStorage_quendite.png")) + elif data == 7: # Block of Dwarven Steel + img = self.build_block(self.load_image_texture("assets/lotr/textures/blocks/oreStorage_dwarfSteel.png"), self.load_image_texture("assets/lotr/textures/blocks/oreStorage_dwarfSteel.png")) + elif data == 8: # Block of Galvorn + img = self.build_block(self.load_image_texture("assets/lotr/textures/blocks/oreStorage_galvorn.png"), self.load_image_texture("assets/lotr/textures/blocks/oreStorage_galvorn.png")) + elif data == 9: # Block of Uruk Steel + img = self.build_block(self.load_image_texture("assets/lotr/textures/blocks/oreStorage_urukSteel.png"), self.load_image_texture("assets/lotr/textures/blocks/oreStorage_urukSteel.png")) + elif data == 10: # Block of Naurite + img = self.build_block(self.load_image_texture("assets/lotr/textures/blocks/oreStorage_naurite.png"), self.load_image_texture("assets/lotr/textures/blocks/oreStorage_naurite.png")) + elif data == 11: # Block of Gulduril + img = self.build_block(self.load_image_texture("assets/lotr/textures/blocks/oreStorage_gulduril.png"), self.load_image_texture("assets/lotr/textures/blocks/oreStorage_gulduril.png")) + elif data == 12: # Block of Morgul Steel + img = self.build_block(self.load_image_texture("assets/lotr/textures/blocks/oreStorage_morgulSteel.png"), self.load_image_texture("assets/lotr/textures/blocks/oreStorage_morgulSteel_side.png")) + elif data == 13: # Block of Sulfur + img = self.build_block(self.load_image_texture("assets/lotr/textures/blocks/oreStorage_sulfur.png"), self.load_image_texture("assets/lotr/textures/blocks/oreStorage_sulfur.png")) + elif data == 14: # Block of Salpeter + img = self.build_block(self.load_image_texture("assets/lotr/textures/blocks/oreStorage_saltpeter.png"), self.load_image_texture("assets/lotr/textures/blocks/oreStorage_saltpeter.png")) + elif data == 15: # Block of Blue Dwarven Steel + img = self.build_block(self.load_image_texture("assets/lotr/textures/blocks/oreStorage_blueDwarfSteel.png"), self.load_image_texture("assets/lotr/textures/blocks/oreStorage_blueDwarfSteel.png")) + return img + +@material(blockid=, data=range(2), solid=True) +def oreStorage2_values(self, blockid, data): + # Block of Black Uruk Steel + t = self.load_image_texture("assets/lotr/textures/blocks/oreStorage2_blackUrukSteel.png") + if data == 1: # Block of Elven Steel + t = self.load_image_texture("assets/lotr/textures/blocks/oreStorage2_elfSteel.png") + return self.build_block(t, t) + +##### Caveat: The glowing effect of Gulduril bricks is not represented ##### +@material(blockid=, data=range(6), solid=True) +def guldurilBrick_values(self, blockid, data): + # Gulduril Mordor Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick_mordor.png") + if data == 1: # Gulduril Cracked Mordor Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick_mordorCracked.png") + elif data == 2: # Gulduril Angmar Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick2_angmar.png") + elif data == 3: # Gulduril Cracked Angmar Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick2_angmarCracked.png") + elif data == 4: # Gulduril Dol Guldur Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick2_dolGuldur.png") + elif data == 5: # Gulduril Cracked Dol Guldur Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick2_dolGuldurCracked.png") + return self.build_block(t, t) + +@material(blockid=[, , , , , ], data=range(16), transparent=True, solid=True) +def lotr_leaves(self, blockid, data): + # mask out the bits 4 and 8 + # they are used for player placed and check-for-decay blocks + data = data & 0x7 + t = self.load_image_texture("assets/minecraft/textures/blocks/leaves_oak.png") + if blockid == : + if data == 0 or data == 4: # Shire Pine Leaves + t = self.load_image_texture("assets/lotr/textures/blocks/leaves_shirePine_fancy.png") + elif data == 1 or data == 5: # Mallorn Leaves + t = self.load_image_texture("assets/lotr/textures/blocks/leaves_mallorn_fancy.png") + elif data == 2 or data == 6: # Mirk-oak Leaves + t = self.load_image_texture("assets/lotr/textures/blocks/leaves_mirkOak_fancy.png") + elif data == 3 or data == 7: # Red Mirk-oak Leaves + t = self.load_image_texture("assets/lotr/textures/blocks/leaves_mirkOakRed_fancy.png") + elif blockid == : + if data == 0 or data == 4: # Lebethron Leaves + t = self.load_image_texture("assets/lotr/textures/blocks/leaves2_lebethron_fancy.png") + elif data == 1 or data == 5: # Beech Leaves + t = self.load_image_texture("assets/lotr/textures/blocks/leaves2_beech_fancy.png") + elif data == 2 or data == 6: # Holly Leaves + t = self.load_image_texture("assets/lotr/textures/blocks/leaves2_holly_fancy.png") + elif data == 3 or data == 7: # Banana Leaves + t = self.load_image_texture("assets/lotr/textures/blocks/leaves2_banana_fancy.png") + elif blockid == : + if data == 0 or data == 4: # Maple Leaves + t = self.load_image_texture("assets/lotr/textures/blocks/leaves3_maple_fancy.png") + elif data == 1 or data == 5: # Larch Leaves + t = self.load_image_texture("assets/lotr/textures/blocks/leaves3_larch_fancy.png") + elif data == 2 or data == 6: # Date Palm Leaves + t = self.load_image_texture("assets/lotr/textures/blocks/leaves3_datePalm_fancy.png") + elif data == 3 or data == 7: # Mangrove Leaves + t = self.load_image_texture("assets/lotr/textures/blocks/leaves3_mangrove_fancy.png") + elif blockid == : + if data == 0 or data == 4: # Chestnut Leaves + t = self.load_image_texture("assets/lotr/textures/blocks/leaves4_chestnut_fancy.png") + elif data == 1 or data == 5: # Baobab Leaves + t = self.load_image_texture("assets/lotr/textures/blocks/leaves4_baobab_fancy.png") + elif data == 2 or data == 6: # Cedar Leaves + t = self.load_image_texture("assets/lotr/textures/blocks/leaves4_cedar_fancy.png") + elif data == 3 or data == 7: # Fir Leaves + t = self.load_image_texture("assets/lotr/textures/blocks/leaves4_fir_fancy.png") + elif blockid == : + if data == 0 or data == 4: # Pine Leaves + t = self.load_image_texture("assets/lotr/textures/blocks/leaves5_pine_fancy.png") + elif blockid == : + if data == 0 or data == 4: # Apple Leaves + t = self.load_image_texture("assets/lotr/textures/blocks/fruitLeaves_apple_fancy.png") + elif data == 1 or data == 5: # Pear Leaves + t = self.load_image_texture("assets/lotr/textures/blocks/fruitLeaves_pear_fancy.png") + elif data == 2 or data == 6: # Cherry Leaves + t = self.load_image_texture("assets/lotr/textures/blocks/fruitLeaves_cherry_fancy.png") + elif data == 3 or data == 7: # Mango Leaves + t = self.load_image_texture("assets/lotr/textures/blocks/fruitLeaves_mango_fancy.png") + return self.build_block(t, t) + +@material(blockid=, data=range(16), solid=True) +def planks_values(self, blockid, data): + # Shire Pine Wood Planks + t = self.load_image_texture("assets/lotr/textures/blocks/planks_shirePine.png") + if data == 1: # Mallorn Wood Planks + t = self.load_image_texture("assets/lotr/textures/blocks/planks_mallorn.png") + elif data == 2: # Mirk-oak Wood Planks + t = self.load_image_texture("assets/lotr/textures/blocks/planks_mirkOak.png") + elif data == 3: # Charred Wood Planks + t = self.load_image_texture("assets/lotr/textures/blocks/planks_charred.png") + elif data == 4: # Apple Wood Planks + t = self.load_image_texture("assets/lotr/textures/blocks/planks_apple.png") + elif data == 5: # Pear Wood Planks + t = self.load_image_texture("assets/lotr/textures/blocks/planks_pear.png") + elif data == 6: # Cherry Wood Planks + t = self.load_image_texture("assets/lotr/textures/blocks/planks_cherry.png") + elif data == 7: # Mango Wood Planks + t = self.load_image_texture("assets/lotr/textures/blocks/planks_mango.png") + elif data == 8: # Lebethron Wood Planks + t = self.load_image_texture("assets/lotr/textures/blocks/planks_lebethron.png") + elif data == 9: # Beech Wood Planks + t = self.load_image_texture("assets/lotr/textures/blocks/planks_beech.png") + elif data == 10: # Holly Wood Planks + t = self.load_image_texture("assets/lotr/textures/blocks/planks_holly.png") + elif data == 11: # Banana Wood Planks + t = self.load_image_texture("assets/lotr/textures/blocks/planks_banana.png") + elif data == 12: # Maple Wood Planks + t = self.load_image_texture("assets/lotr/textures/blocks/planks_maple.png") + elif data == 13: # Larch Wood Planks + t = self.load_image_texture("assets/lotr/textures/blocks/planks_larch.png") + elif data == 14: # Date Palm Wood Planks + t = self.load_image_texture("assets/lotr/textures/blocks/planks_datePalm.png") + elif data == 15: # Mangrove Wood Planks + t = self.load_image_texture("assets/lotr/textures/blocks/planks_mangrove.png") + return self.build_block(t, t) + +@material(blockid=, data=range(5), solid=True) +def planks2_values(self, blockid, data): + # Chestnut Wood Planks + t = self.load_image_texture("assets/lotr/textures/blocks/planks2_chestnut.png") + if data == 1: # Baobab Wood Planks + t = self.load_image_texture("assets/lotr/textures/blocks/planks2_baobab.png") + elif data == 2: # Cedar Wood Planks + t = self.load_image_texture("assets/lotr/textures/blocks/planks2_cedar.png") + elif data == 3: # Fir Wood Planks + t = self.load_image_texture("assets/lotr/textures/blocks/planks2_fir.png") + elif data == 4: # Pine Wood Planks + t = self.load_image_texture("assets/lotr/textures/blocks/planks2_pine.png") + return self.build_block(t, t) + +@material(blockid=, data=range(16), solid=True) +def brick_values(self, blockid, data): + # Mordor Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick_mordor.png") + if data == 1: # Gondor Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick_gondor.png") + elif data == 2: # Mossy Gondor Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick_gondorMossy.png") + elif data == 3: # Cracked Gondor Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick_gondorCracked.png") + elif data == 4: # Rohan Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick_rohan.png") + elif data == 5: # Carved Gondor Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick_gondorRuins.png") + elif data == 6: # Dwarven Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick_dwarven.png") + elif data == 7: # Cracked Mordor Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick_mordorCracked.png") + elif data == 8: # Silver-trimmed Dwarven Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick_dwarvenSilver.png") + elif data == 9: # Gold-trimmed Dwarven Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick_dwarvenGold.png") + elif data == 10: # Mithril-trimmed Dwarven Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick_dwarvenMithril.png") + elif data == 11: # Galadhrim Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick_galadhrim.png") + elif data == 12: # Mossy Galadhrim Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick_galadhrimMossy.png") + elif data == 13: # Cracked Galadhrim Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick_galadhrimCracked.png") + elif data == 14: # Sarlluin Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick_blueRock.png") + elif data == 15: # Near Harad Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick_nearHarad.png") + return self.build_block(t, t) + +@material(blockid=, data=range(16), solid=True) +def brick2_values(self, blockid, data): + # Angmar Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick2_angmar.png") + if data == 1: # Cracked Angmar Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick2_angmarCracked.png") + elif data == 2: # Sarncaran Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick2_redRock.png") + elif data == 3: # Arnor Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick2_arnor.png") + elif data == 4: # Mossy Arnor Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick2_arnorMossy.png") + elif data == 5: # Cracked Arnor Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick2_arnorCracked.png") + elif data == 6: # Carved Arnor Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick2_arnorCarved.png") + elif data == 7: # Uruk Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick2_uruk.png") + elif data == 8: # Dol Guldur Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick2_dolGuldur.png") + elif data == 9: # Cracked Dol Guldur Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick2_dolGuldurCracked.png") + elif data == 10: # Carved Mordor Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick2_mordorCarved.png") + elif data == 11: # Black Gondor Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick2_blackGondor.png") + elif data == 12: # Carved Dwarven Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick2_dwarvenCarved.png") + elif data == 13: # Carved High Elven Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick2_highElvenCarved.png") + elif data == 14: # Carved Wood-elven Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick2_woodElvenCarved.png") + elif data == 15: # Carved Galadhrim Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick2_galadhrimCarved.png") + return self.build_block(t, t) + +@material(blockid=, data=range(16), solid=True) +def brick3_values(self, blockid, data): + # Carved Sarlluin Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick3_blueCarved.png") + if data == 1: # Carved Sarncaran Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick3_redCarved.png") + elif data == 2: # High Elven Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick3_highElven.png") + elif data == 3: # Mossy High Elven Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick3_highElvenMossy.png") + elif data == 4: # Cracked High Elven Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick3_highElvenCracked.png") + elif data == 5: # Wood-elven Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick3_woodElven.png") + elif data == 6: # Mossy Wood-elven Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick3_woodElvenMossy.png") + elif data == 7: # Cracked Wood-elven Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick3_woodElvenCracked.png") + elif data == 8: # Carved Near Harad Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick3_nearHaradCarved.png") + elif data == 9: # Dol Amroth Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick3_dolAmroth.png") + elif data == 10: # Moredain Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick3_moredain.png") + elif data == 11: # Cracked near Harad Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick3_nearHaradCracked.png") + elif data == 12: # Glowing Dwarven Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick3_dwarvenGlowing.png") + elif data == 13: # Red Near Harad Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick3_nearHaradRed.png") + elif data == 14: # Cracked Red Near Harad Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick3_nearHaradRedCracked.png") + elif data == 15: # Carved Red Near Harad Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick3_nearHaradRedCarved.png") + return self.build_block(t, t) + +@material(blockid=, data=range(16), solid=True) +def brick4_values(self, blockid, data): + # Tauredain Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick4_tauredain.png") + if data == 1: # Mossy Tauredain Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick4_tauredainMossy.png") + elif data == 2: # Cracked Tauredain Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick4_tauredainCracked.png") + elif data == 3: # Gold Tauredain Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick4_tauredainGold.png") + elif data == 4: # Obsidian Tauredain Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick4_tauredainObsidian.png") + elif data == 5: # Cracked Dwarven Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick4_dwarvenCracked.png") + elif data == 6: # Carved Black Gondor Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick4_blackGondorCarved.png") + elif data == 7: # Lapis-Trimmed Near Harad Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick4_nearHaradLapis.png") + elif data == 8: # Silver High Elven Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick4_highElvenSilver.png") + elif data == 9: # Silver Galadhrim Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick4_galadhrimSilver.png") + elif data == 10: # Silver Wood-elven Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick4_woodElvenSilver.png") + elif data == 11: # Gold High Elven Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick4_highElvenGold.png") + elif data == 12: # Gold Galadhrim Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick4_galadhrimGold.png") + elif data == 13: # Gold Wood-elven Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick4_woodElvenGold.png") + elif data == 14: # Obsidian Dwarven Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick4_dwarvenObsidian.png") + elif data == 15: # Chalk Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick4_chalk.png") + return self.build_block(t, t) + +@material(blockid=, data=range(16), solid=True) +def brick4_values(self, blockid, data): + # Mud Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick5_mud.png") + if data == 1: # Dalish Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick5_dale.png") + elif data == 2: # Dorwinion Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick5_dorwinion.png") + elif data == 3: # Carved Rohan Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick5_rohanCarved.png") + elif data == 4: # Mossy Dorwinion Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick5_dorwinionMossy.png") + elif data == 5: # Cracked Dorwinion Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick5_dorwinionCracked.png") + elif data == 6: # Carved Dorwinion Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick5_dorwinionCarved.png") + elif data == 7: # Flowery Dorwinion Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick5_dorwinionFlowers.png") + elif data == 8: # Gondor Cobblebrick + t = self.load_image_texture("assets/lotr/textures/blocks/brick5_gondorRustic.png") + elif data == 9: # Mossy Gondor Cobblebrick + t = self.load_image_texture("assets/lotr/textures/blocks/brick5_gondorRusticMossy.png") + elif data == 10: # Cracked Gondor Cobblebrick + t = self.load_image_texture("assets/lotr/textures/blocks/brick5_gondorRusticCracked.png") + elif data == 11: # Rhun Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick5_rhun.png") + elif data == 12: # Carved Rhun Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick5_rhunCarved.png") + elif data == 13: # Mossy Rhun Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick5_rhunMossy.png") + elif data == 14: # Cracked Rhun Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick5_rhunCracked.png") + elif data == 15: # Flowery Rhun Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick5_rhunFlowers.png") + return self.build_block(t, t) + +@material(blockid=, data=range(3), solid=True) +def brick4_values(self, blockid, data): + # Gold Rhun Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick6_rhunGold.png") + if data == 1: # Red Rhun Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick6_rhunRed.png") + elif data == 2: # Carved Red Rhun Brick + t = self.load_image_texture("assets/lotr/textures/blocks/brick6_rhunRedCarved.png") + return self.build_block(t, t) + +@material(blockid=, data=range(6), solid=True) +def utumnoBrick_values(self, blockid, data): + # Default to Fire Brick + t = self.load_image_texture("assets/lotr/textures/blocks/utumnoBrick_fire.png") + if data == 1: # Burning Utumno Brick + t = self.load_image_texture("assets/lotr/textures/blocks/utumnoBrick_burning.png") + elif data == 2: # Ice Utumno Brick + t = self.load_image_texture("assets/lotr/textures/blocks/utumnoBrick_ice.png") + elif data == 3: # GLowing Ice Utumno Brick + t = self.load_image_texture("assets/lotr/textures/blocks/utumnoBrick_iceGlowing.png") + elif data == 4: # Obsidian Utumno Brick + t = self.load_image_texture("assets/lotr/textures/blocks/utumnoBrick_obsidian.png") + elif data == 5: # Fire Obsidian Utumno Brick + t = self.load_image_texture("assets/lotr/textures/blocks/utumnoBrick_obsidianFire.png") + return self.build_block(t, t) + +@material(blockid=, data=range(16), solid=True) +def clayTile_values(self, blockid, data): + # Default to Black + t = self.load_image_texture("assets/lotr/textures/blocks/clayTileDyed_black.png") + if data == 1: # Blue + t = self.load_image_texture("assets/lotr/textures/blocks/clayTileDyed_blue.png") + elif data == 2: # Brown + t = self.load_image_texture("assets/lotr/textures/blocks/clayTileDyed_brown.png") + elif data == 3: # Cyan + t = self.load_image_texture("assets/lotr/textures/blocks/clayTileDyed_cyan.png") + elif data == 4: # Gray + t = self.load_image_texture("assets/lotr/textures/blocks/clayTileDyed_gray.png") + elif data == 5: # Green + t = self.load_image_texture("assets/lotr/textures/blocks/clayTileDyed_green.png") + elif data == 6: # Light Blue + t = self.load_image_texture("assets/lotr/textures/blocks/clayTileDyed_lightBlue.png") + elif data == 7: # Lime + t = self.load_image_texture("assets/lotr/textures/blocks/clayTileDyed_lime.png") + elif data == 8: # Magenta + t = self.load_image_texture("assets/lotr/textures/blocks/clayTileDyed_magenta.png") + elif data == 9: # Orange + t = self.load_image_texture("assets/lotr/textures/blocks/clayTileDyed_orange.png") + elif data == 10: # Pink + t = self.load_image_texture("assets/lotr/textures/blocks/clayTileDyed_pink.png") + elif data == 11: # Purple + t = self.load_image_texture("assets/lotr/textures/blocks/clayTileDyed_purple.png") + elif data == 12: # Red + t = self.load_image_texture("assets/lotr/textures/blocks/clayTileDyed_red.png") + elif data == 13: # Silver + t = self.load_image_texture("assets/lotr/textures/blocks/clayTileDyed_silver.png") + elif data == 14: # White + t = self.load_image_texture("assets/lotr/textures/blocks/clayTileDyed_white.png") + elif data == 15: # Yellow + t = self.load_image_texture("assets/lotr/textures/blocks/clayTileDyed_yellow.png") + return self.build_block(t, t) + +################################################################################ +# Opaque bi-texture full blocks: ############################################### +################################################################################ + +@material(blockid=, data=range(1), solid=True) +def angmarCraftingTable(self, blockid, data): + return self.build_block(self.load_image_texture("assets/lotr/textures/blocks/angmarCraftingTable_top.png"), self.load_image_texture("assets/lotr/textures/blocks/angmarCraftingTable_side.png")) + +@material(blockid=, data=range(1), solid=True) +def blueDwarvenCraftingTable(self, blockid, data): + return self.build_block(self.load_image_texture("assets/lotr/textures/blocks/blueDwarvenCraftingTable_top.png"), self.load_image_texture("assets/lotr/textures/blocks/blueDwarvenCraftingTable_side.png")) + +@material(blockid=, data=range(1), solid=True) +def dolAmrothCraftingTable(self, blockid, data): + return self.build_block(self.load_image_texture("assets/lotr/textures/blocks/dolAmrothCraftingTable_top.png"), self.load_image_texture("assets/lotr/textures/blocks/dolAmrothCraftingTable_side.png")) + +@material(blockid=, data=range(1), solid=True) +def dolGuldurCraftingTable(self, blockid, data): + return self.build_block(self.load_image_texture("assets/lotr/textures/blocks/dolGuldurCraftingTable_top.png"), self.load_image_texture("assets/lotr/textures/blocks/dolGuldurCraftingTable_side.png")) + +@material(blockid=, data=range(1), solid=True) +def dunlendingCraftingTable(self, blockid, data): + return self.build_block(self.load_image_texture("assets/lotr/textures/blocks/dunlendingCraftingTable_top.png"), self.load_image_texture("assets/lotr/textures/blocks/dunlendingCraftingTable_side.png")) + +@material(blockid=, data=range(1), solid=True) +def dwarvenCraftingTable(self, blockid, data): + return self.build_block(self.load_image_texture("assets/lotr/textures/blocks/dwarvenCraftingTable_top.png"), self.load_image_texture("assets/lotr/textures/blocks/dwarvenCraftingTable_side.png")) + +@material(blockid=, data=range(1), solid=True) +def elvenCraftingTable(self, blockid, data): + return self.build_block(self.load_image_texture("assets/lotr/textures/blocks/elvenCraftingTable_top.png"), self.load_image_texture("assets/lotr/textures/blocks/elvenCraftingTable_side.png")) + +@material(blockid=, data=range(1), solid=True) +def gondorianCraftingTable(self, blockid, data): + return self.build_block(self.load_image_texture("assets/lotr/textures/blocks/gondorianCraftingTable_top.png"), self.load_image_texture("assets/lotr/textures/blocks/gondorianCraftingTable_side.png")) + +@material(blockid=, data=range(1), solid=True) +def gundabadCraftingTable(self, blockid, data): + return self.build_block(self.load_image_texture("assets/lotr/textures/blocks/gundabadCraftingTable_top.png"), self.load_image_texture("assets/lotr/textures/blocks/gundabadCraftingTable_side.png")) + +@material(blockid=, data=range(1), solid=True) +def halfTrollCraftingTable(self, blockid, data): + return self.build_block(self.load_image_texture("assets/lotr/textures/blocks/halfTrollCraftingTable_top.png"), self.load_image_texture("assets/lotr/textures/blocks/halfTrollCraftingTable_side.png")) + +@material(blockid=, data=range(1), solid=True) +def highElvenCraftingTable(self, blockid, data): + return self.build_block(self.load_image_texture("assets/lotr/textures/blocks/highElvenCraftingTable_top.png"), self.load_image_texture("assets/lotr/textures/blocks/highElvenCraftingTable_side.png")) + +@material(blockid=, data=range(1), solid=True) +def moredainCraftingTable(self, blockid, data): + return self.build_block(self.load_image_texture("assets/lotr/textures/blocks/moredainCraftingTable_top.png"), self.load_image_texture("assets/lotr/textures/blocks/moredainCraftingTable_side.png")) + +@material(blockid=, data=range(1), solid=True) +def morgulCraftingTable(self, blockid, data): + return self.build_block(self.load_image_texture("assets/lotr/textures/blocks/morgulCraftingTable_top.png"), self.load_image_texture("assets/lotr/textures/blocks/morgulCraftingTable_side.png")) + +@material(blockid=, data=range(1), solid=True) +def nearHaradCraftingTable(self, blockid, data): + return self.build_block(self.load_image_texture("assets/lotr/textures/blocks/nearHaradCraftingTable_top.png"), self.load_image_texture("assets/lotr/textures/blocks/nearHaradCraftingTable_side.png")) + +@material(blockid=, data=range(1), solid=True) +def rangerCraftingTable(self, blockid, data): + return self.build_block(self.load_image_texture("assets/lotr/textures/blocks/rangerCraftingTable_top.png"), self.load_image_texture("assets/lotr/textures/blocks/rangerCraftingTable_side.png")) + +@material(blockid=, data=range(1), solid=True) +def rohirricCraftingTable(self, blockid, data): + return self.build_block(self.load_image_texture("assets/lotr/textures/blocks/rohirricCraftingTable_top.png"), self.load_image_texture("assets/lotr/textures/blocks/rohirricCraftingTable_side.png")) + +@material(blockid=, data=range(1), solid=True) +def tauredainCraftingTable(self, blockid, data): + return self.build_block(self.load_image_texture("assets/lotr/textures/blocks/tauredainCraftingTable_top.png"), self.load_image_texture("assets/lotr/textures/blocks/tauredainCraftingTable_side.png")) + +@material(blockid=, data=range(1), solid=True) +def urukCraftingTable(self, blockid, data): + return self.build_block(self.load_image_texture("assets/lotr/textures/blocks/urukCraftingTable_top.png"), self.load_image_texture("assets/lotr/textures/blocks/urukCraftingTable_side.png")) + +@material(blockid=, data=range(1), solid=True) +def woodElvenCraftingTable(self, blockid, data): + return self.build_block(self.load_image_texture("assets/lotr/textures/blocks/woodElvenCraftingTable_top.png"), self.load_image_texture("assets/lotr/textures/blocks/woodElvenCraftingTable_side.png")) + +@material(blockid=, data=range(1), solid=True) +def quenditeGrass(self, blockid, data): + return self.build_block(self.load_image_texture("assets/lotr/textures/blocks/quenditeGrass_top.png"), self.load_image_texture("assets/lotr/textures/blocks/quenditeGrass_side.png")) + +@material(blockid=, data=range(1), solid=True) +def mudGrass(self, blockid, data): + return self.build_block(self.load_image_texture("assets/lotr/textures/blocks/mudGrass_top.png"), self.load_image_texture("assets/lotr/textures/blocks/mudGrass_side.png")) + +@material(blockid=, data=range(1), solid=True) +def mudFarmland(self, blockid, data): + return self.build_block(self.load_image_texture("assets/lotr/textures/blocks/mudFarmland_top.png"), self.load_image_texture("assets/lotr/textures/blocks/mudFarmland_side.png")) + +@material(blockid=, data=range(1), solid=True) +def hearth(self, blockid, data): + return self.build_block(self.load_image_texture("assets/lotr/textures/blocks/hearth_top.png"), self.load_image_texture("assets/lotr/textures/blocks/hearth_side.png")) + +@material(blockid=, data=range(1), solid=True) +def hearth(self, blockid, data): + return self.build_block(self.load_image_texture("assets/lotr/textures/blocks/redSandstone_top.png"), self.load_image_texture("assets/lotr/textures/blocks/redSandstone.png")) + +##### Caveat: the tap side is undistinguished from the other sides ##### +@material(blockid=, data=range(1), solid=True) +def barrel(self, blockid, data): + return self.build_block(self.load_image_texture("assets/lotr/textures/blocks/barrel_top.png"), self.load_image_texture("assets/lotr/textures/blocks/barrel_side.png")) + +@material(blockid=, data=range(1), solid=True) +def entJar(self, blockid, data): + return self.build_block(self.load_image_texture("assets/lotr/textures/blocks/entJar_top.png"), self.load_image_texture("assets/lotr/textures/blocks/entJar_side.png")) + +##### Caveat: no color differences between bomb strengths and handles are not shown ##### +@material(blockid=, data=range(16), solid=True) +def orcBomb(self, blockid, data): + if data == 0 or data == 1 or data == 2: + return self.build_block(self.load_image_texture("assets/lotr/textures/blocks/orcBomb_top.png"), self.load_image_texture("assets/lotr/textures/blocks/orcBomb_side.png")) + elif data == 8 or data == 9 or data == 10: + return self.build_block(self.load_image_texture("assets/lotr/textures/blocks/orcBomb_fire_top.png"), self.load_image_texture("assets/lotr/textures/blocks/orcBomb_fire_side.png")) + +################################################################################ +# Opaque bi-texture full blocks with orientation: ############################## +################################################################################ + +@material(blockid=[, , , , , , , , , , ], data=range(16), solid=True) +def lotr_wood(self, blockid, data): + # extract orientation and wood type from data bits + wood_type = data & 3 + wood_orientation = data & 12 + if self.rotation == 1: + if wood_orientation == 4: wood_orientation = 8 + elif wood_orientation == 8: wood_orientation = 4 + elif self.rotation == 3: + if wood_orientation == 4: wood_orientation = 8 + elif wood_orientation == 8: wood_orientation = 4 + # choose textures + top = self.load_image_texture("assets/minecraft/textures/blocks/log_oak_top.png") + side = self.load_image_texture("assets/minecraft/textures/blocks/log_oak.png") + if blockid == : + if wood_type == 0: # Shire Pine Wood + top = self.load_image_texture("assets/lotr/textures/blocks/wood_shirePine_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/wood_shirePine_side.png") + elif wood_type == 1: # Mallorn Wood + top = self.load_image_texture("assets/lotr/textures/blocks/wood_mallorn_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/wood_mallorn_side.png") + elif wood_type == 2: # Mirk-oak Wood + top = self.load_image_texture("assets/lotr/textures/blocks/wood_mirkOak_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/wood_mirkOak_side.png") + elif wood_type == 3: # Charred Wood + top = self.load_image_texture("assets/lotr/textures/blocks/wood_charred_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/wood_charred_side.png") + elif blockid == : + if wood_type == 0: # Lebethron Wood + top = self.load_image_texture("assets/lotr/textures/blocks/wood2_lebethron_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/wood2_lebethron_side.png") + elif wood_type == 1: # Beech Wood + top = self.load_image_texture("assets/lotr/textures/blocks/wood2_beech_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/wood2_beech_side.png") + elif wood_type == 2: # Holly Wood + top = self.load_image_texture("assets/lotr/textures/blocks/wood2_holly_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/wood2_holly_side.png") + elif wood_type == 3: # Banana Wood + top = self.load_image_texture("assets/lotr/textures/blocks/wood2_banana_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/wood2_banana_side.png") + elif blockid == : + if wood_type == 0: # Maple Wood + top = self.load_image_texture("assets/lotr/textures/blocks/wood3_maple_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/wood3_maple_side.png") + elif wood_type == 1: # Larch Wood + top = self.load_image_texture("assets/lotr/textures/blocks/wood3_larch_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/wood3_larch_side.png") + elif wood_type == 2: # Date Palm Wood + top = self.load_image_texture("assets/lotr/textures/blocks/wood3_datePalm_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/wood3_datePalm_side.png") + elif wood_type == 3: # Mangrove Wood + top = self.load_image_texture("assets/lotr/textures/blocks/wood3_mangrove_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/wood3_mangrove_side.png") + elif blockid == : + if wood_type == 0: # Chestnut Wood + top = self.load_image_texture("assets/lotr/textures/blocks/wood4_chestnut_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/wood4_chestnut_side.png") + elif wood_type == 1: # Baobab Wood + top = self.load_image_texture("assets/lotr/textures/blocks/wood4_baobab_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/wood4_baobab_side.png") + elif wood_type == 2: # Cedar Wood + top = self.load_image_texture("assets/lotr/textures/blocks/wood4_cedar_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/wood4_cedar_side.png") + elif wood_type == 3: # Fir Wood + top = self.load_image_texture("assets/lotr/textures/blocks/wood4_fir_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/wood4_fir_side.png") + elif blockid == : + if wood_type == 0: # Pine Wood + top = self.load_image_texture("assets/lotr/textures/blocks/wood5_pine_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/wood5_pine_side.png") + elif wood_type == 1: # Lemon Wood + top = self.load_image_texture("assets/lotr/textures/blocks/wood5_lemon_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/wood5_lemon_side.png") + elif wood_type == 1: # Orange Wood + top = self.load_image_texture("assets/lotr/textures/blocks/wood5_orange_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/wood5_orange_side.png") + elif wood_type == 1: # Lime Wood + top = self.load_image_texture("assets/lotr/textures/blocks/wood5_lime_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/wood5_lime_side.png") + elif blockid == : + if wood_type == 0: # Mahogany Wood + top = self.load_image_texture("assets/lotr/textures/blocks/wood6_mahogany_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/wood6_mahogany_side.png") + elif wood_type == 1: # Willow Wood + top = self.load_image_texture("assets/lotr/textures/blocks/wood6_willow_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/wood6_willow_side.png") + elif wood_type == 2: # Cypress Wood + top = self.load_image_texture("assets/lotr/textures/blocks/wood6_cypress_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/wood6_cypress_side.png") + elif wood_type == 3: # Olive Wood + top = self.load_image_texture("assets/lotr/textures/blocks/wood6_olive_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/wood6_olive_side.png") + elif blockid == : + if wood_type == 0: # Aspen Wood + top = self.load_image_texture("assets/lotr/textures/blocks/wood7_aspen_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/wood7_aspen_side.png") + elif wood_type == 1: # Green Oak Wood + top = self.load_image_texture("assets/lotr/textures/blocks/wood7_greenOak_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/wood7_greenOak_side.png") + elif wood_type == 2: # Lairelosse Wood + top = self.load_image_texture("assets/lotr/textures/blocks/wood7_lairelosse_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/wood7_lairelosse_side.png") + elif wood_type == 3: # Almond Wood + top = self.load_image_texture("assets/lotr/textures/blocks/wood7_almond_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/wood7_almond_side.png") + elif blockid == : + if wood_type == 0: # Plum Wood + top = self.load_image_texture("assets/lotr/textures/blocks/wood8_plum_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/wood8_plum_side.png") + elif wood_type == 1: # Redwood Wood + top = self.load_image_texture("assets/lotr/textures/blocks/wood8_redwood_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/wood8_redwood_side.png") + elif wood_type == 2: # Pomegranate Wood + top = self.load_image_texture("assets/lotr/textures/blocks/wood8_pomegranate_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/wood8_pomegranate_side.png") + elif blockid == : + if wood_type == 0: # Apple Wood + top = self.load_image_texture("assets/lotr/textures/blocks/fruitWood_apple_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/fruitWood_apple_side.png") + elif wood_type == 1: # Pear Wood + top = self.load_image_texture("assets/lotr/textures/blocks/fruitWood_pear_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/fruitWood_pear_side.png") + elif wood_type == 2: # Cherry Wood + top = self.load_image_texture("assets/lotr/textures/blocks/fruitWood_cherry_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/fruitWood_cherry_side.png") + elif wood_type == 3: # Mango Wood + top = self.load_image_texture("assets/lotr/textures/blocks/fruitWood_mango_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/fruitWood_mango_side.png") + elif blockid == : + if wood_type == 0: # + top = self.load_image_texture("assets/lotr/textures/blocks/rottenLog_rotten_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/rottenLog_rotten_side.png") + + # choose orientation and paste textures + if wood_orientation == 0: + return self.build_block(top, side) + elif wood_orientation == 4: # east-west orientation + return self.build_full_block(side.rotate(90), None, None, top, side.rotate(90)) + elif wood_orientation == 8: # north-south orientation + return self.build_full_block(side, None, None, side.rotate(270), top) + +###Doing this separately for the sake of organization### +@material(blockid=[, , , , , , , , , , , ], data=range(16), solid=True) +def lotr_beam(self, blockid, data): + # extract orientation and wood type from data bits + wood_type = data & 3 + wood_orientation = data & 12 + if self.rotation == 1: + if wood_orientation == 4: wood_orientation = 8 + elif wood_orientation == 8: wood_orientation = 4 + elif self.rotation == 3: + if wood_orientation == 4: wood_orientation = 8 + elif wood_orientation == 8: wood_orientation = 4 + # Choose textures with the default as Oak + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeamV1_oak_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeamV1_oak_side.png") + if blockid == : + if data == 0: # Oak Beam + #Do nothing, just leave the deafult + elif data == 1: # Spruce Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeamV1_spruce_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeamV1_spruce_side.png") + elif data == 2: # Birch Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeamV1_birch_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeamV1_brich_side.png") + elif data == 3: # Jungle Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeamV1_jungle_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeamV1_jungle_side.png") + elif blockid == : + if data == 0: # Acacia Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeamV1_acacia_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeamV1_acacia_side.png") + elif data == 1: # Dark Oak Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeamV1_darkOak_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeamV1_darkOak_side.png") + elif blockid == : + if data == 0: # Shire Pine Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeam1_shirePine_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeam1_shirePine_side.png") + elif data == 1: # Mallorn Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeam1_mallorn_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeam1_mallorn_side.png") + elif data == 2: # Mirk-oak Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeam1_mirkOak_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeam1_mirkOak_side.png") + elif data == 3: # Charred Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeam1_charred_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeam1_charred_side.png") + elif blockid == : + if data == 0: # Lebethron Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeam2_lebethron_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeam2_lebethron_side.png") + elif data == 1: # Beech Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeam2_beech_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeam2_beech_side.png") + elif data == 2: # Holly Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeam2_holly_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeam2_holly_side.png") + elif data == 3: # Banana Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeam2_banana_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeam2_banana_side.png") + elif blockid == : + if data == 0: # Maple Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeam3_maple_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeam3_maple_side.png") + elif data == 1: # Larch Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeam3_larch_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeam3_larch_side.png") + elif data == 2: # Date Palm Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeam3_datePalm_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeam3_datePalm_side.png") + elif data == 3: # Mangrove Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeam3_mangrove_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeam3_mangrove_side.png") + elif blockid == : + if data == 0: # Chestnut Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeam4_chestnut_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeam4_chestnut_side.png") + elif data == 1: # Baobab Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeam4_baobab_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeam4_baobab_side.png") + elif data == 2: # Cedar Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeam4_cedar_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeam4_cedar_side.png") + elif data == 3: # Fir Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeam4_fir_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeam4_fir_side.png") + elif blockid == : + if data == 0: # Pine Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeam5_pine_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeam5_pine_side.png") + elif data == 1: # Lemon Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeam5_lemon_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeam5_lemon_side.png") + elif data == 2: # Orange Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeam5_orange_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeam5_orange_side.png") + elif data == 3: # Lime Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeam5_lime_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeam5_lime_side.png") + elif blockid == : + if data == 0: # Mahogany Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeam6_mahogany_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeam6_mahogany_side.png") + elif data == 1: # Willow Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeam6_willow_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeam6_willow_side.png") + elif data == 2: # Cypress Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeam6_cypress_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeam6_cypress_side.png") + elif data == 3: # Olive Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeam6_olive_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeam6_olive_side.png") + elif blockid == : + if data == 0: # Aspen Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeam7_aspen_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeam7_aspen_side.png") + elif data == 1: # Green Oak Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeam7_greenOak_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeam7_greenOak_side.png") + elif data == 2: # Lairelosse Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeam7_lairelosse_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeam7_lairelosse_side.png") + elif data == 3: # Almond Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeam7_almond_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeam7_almond_side.png") + elif blockid == : + if data == 0: # Plum Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeam8_plum_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeam8_plum_side.png") + elif data == 1: # Redwood Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeam8_redwood_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeam8_redwood_side.png") + elif data == 2: # Pomegranate Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeam8_pomegranate_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeam8_pomegranate_side.png") + elif blockid == : + if data == 0: # Apple Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeamFruit_apple_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeamFruit_apple_side.png") + elif data == 1: # Pear Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeamFruit_pear_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeamFruit_pear_side.png") + elif data == 2: # Cherry Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeamFruit_cherry_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeamFruit_cherry_side.png") + elif data == 3: # Mango Beam + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeamFruit_mango_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeamFruit_mango_side.png") + elif blockid == : + top = self.load_image_texture("assets/lotr/textures/blocks/woodBeamRotten_rotten_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/woodBeamRotten_rotten_side.png") + +##### Caveat: we don't distinguish from the top, middle and bottom of pillar's sides ##### +@material(blockid=[, ], data=range(14), solid=True) +def lotr_pillars(self, blockid, data): + # Dwarven Pillar + top = self.load_image_texture("assets/lotr/textures/blocks/pillar_dwarven_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar_dwarven_side.png") + if blockid == : + if data == 1: # Galadhrim Pillar + top = self.load_image_texture("assets/lotr/textures/blocks/pillar_galadhrim_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar_galadhrim_side.png") + elif data == 2: # Cracked Galadhrim Pillar + top = self.load_image_texture("assets/lotr/textures/blocks/pillar_galadhrimCracked_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar_galadhrimCracked_side.png") + elif data == 3: # Sarlluin Pillar + top = self.load_image_texture("assets/lotr/textures/blocks/pillar_blueRock_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar_blueRock_side.png") + elif data == 4: # Sarngaran Pillar + top = self.load_image_texture("assets/lotr/textures/blocks/pillar_redRock_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar_redRock_side.png") + elif data == 5: # Near Harad Pillar + top = self.load_image_texture("assets/lotr/textures/blocks/pillar_nearHarad_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar_nearHarad_side.png") + elif data == 6: # Gondor Pillar + top = self.load_image_texture("assets/lotr/textures/blocks/pillar_gondor_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar_gondor_side.png") + elif data == 7: # Mordor Pillar + top = self.load_image_texture("assets/lotr/textures/blocks/pillar_mordor_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar_mordor_side.png") + elif data == 8: # Rohan Pillar + top = self.load_image_texture("assets/lotr/textures/blocks/pillar_rohan_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar_rohan_side.png") + elif data == 9: # Black Gondor Pillar + top = self.load_image_texture("assets/lotr/textures/blocks/pillar_blackGondor_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar_blackGondor_side.png") + elif data == 10: # High Elven Pillar + top = self.load_image_texture("assets/lotr/textures/blocks/pillar_highElven_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar_highElven_side.png") + elif data == 11: # Cracked High Elven Pillar + top = self.load_image_texture("assets/lotr/textures/blocks/pillar_highElvenCracked_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar_highElvenCracked_side.png") + elif data == 12: # Wood-elven Pillar + top = self.load_image_texture("assets/lotr/textures/blocks/pillar_woodElven_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar_woodElven_side.png") + elif data == 13: # Cracked Wood-elven Pillar + top = self.load_image_texture("assets/lotr/textures/blocks/pillar_woodElvenCracked_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar_woodElvenCracked_side.png") + elif data == 14: # Tauredain Pillar + top = self.load_image_texture("assets/lotr/textures/blocks/pillar_tauredain_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar_tauredain_side.png") + elif data == 15: # Red Near Harad Pillar + top = self.load_image_texture("assets/lotr/textures/blocks/pillar_nearHaradRed_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar_nearHaradRed_side.png") + elif blockid == : + if data == 1: # Cracked Dwarven Pillar + top = self.load_image_texture("assets/lotr/textures/blocks/pillar2_dwarvenCracked_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar2_dwarvenCracked_side.png") + elif data == 2: # Chalk Pillar + top = self.load_image_texture("assets/lotr/textures/blocks/pillar2_chalk_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar2_chalk_side.png") + elif data == 3: # Stone Pillar + top = self.load_image_texture("assets/lotr/textures/blocks/pillar2_stone_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar2_stone_side.png") + elif data == 4: # Brick Pillar + top = self.load_image_texture("assets/lotr/textures/blocks/pillar2_brick_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar2_brick_side.png") + elif data == 5: # Angmar Pillar + top = self.load_image_texture("assets/lotr/textures/blocks/pillar2_angmar_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar2_angmar_side.png") + elif data == 6: # Dalish Pillar + top = self.load_image_texture("assets/lotr/textures/blocks/pillar2_dale_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar2_dale_side.png") + elif data == 7: # Dorwinion Pillar + top = self.load_image_texture("assets/lotr/textures/blocks/pillar2_dorwinion_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar2_dorwinion_side.png") + elif data == 8: # Mossy Dorwinion Pillar + top = self.load_image_texture("assets/lotr/textures/blocks/pillar2_dorwinionMossy_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar2_dorwinionMossy_side.png") + elif data == 9: # Rhun Pillar + top = self.load_image_texture("assets/lotr/textures/blocks/pillar2_rhun_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar2_rhun_side.png") + elif data == 10: # Red Rhun Pillar + top = self.load_image_texture("assets/lotr/textures/blocks/pillar2_rhunRed_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar2_rhunRed_side.png") + elif blockid == : + if data == 0: + top = self.load_image_texture("assets/lotr/textures/blocks/utumnoPillar_fire_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/utumnoPillar_fire_side.png") + elif data == 1: + top = self.load_image_texture("assets/lotr/textures/blocks/utumnoPillar_ice_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/utumnoPillar_ice_side.png") + elif data == 2: + top = self.load_image_texture("assets/lotr/textures/blocks/utumnoPillar_obsidian_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/utumnoPillar_obsidian_side.png") + return self.build_block(top, side) + +################################################################################ +# Opaque tri-texture full blocks with orientation: ############################# +################################################################################ + +@material(blockid=[, , , , : + top = self.load_image_texture("assets/lotr/textures/blocks/hobbitOven_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/hobbitOven_side.png") + front = self.load_image_texture("assets/lotr/textures/blocks/hobbitOven_front.png") + elif blockid == : + top = self.load_image_texture("assets/lotr/textures/blocks/dwarvenForge_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/dwarvenForge_side.png") + front = self.load_image_texture("assets/lotr/textures/blocks/dwarvenForge_front.png") + elif blockid == : + top = self.load_image_texture("assets/lotr/textures/blocks/elvenForge_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/elvenForge_side.png") + front = self.load_image_texture("assets/lotr/textures/blocks/elvenForge_front.png") + elif blockid == : + top = self.load_image_texture("assets/lotr/textures/blocks/orcForge_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/orcForge_side.png") + front = self.load_image_texture("assets/lotr/textures/blocks/orcForge_front.png") + elif blockid == : + top = self.load_image_texture("assets/lotr/textures/blocks/alloyForge_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/alloyForge_side.png") + front = self.load_image_texture("assets/lotr/textures/blocks/alloyForge_front.png") + if data == 3: # pointing west + return self.build_full_block(top, None, None, side, front) + elif data == 4: # pointing north + return self.build_full_block(top, None, None, front, side) + else: # in any other direction the front can't be seen + return self.build_full_block(top, None, None, side, side) + +################################################################################ +# Transparent single-texture full blocks with data value: ###################### +################################################################################ + +@material(blockid=, data=range(16), solid=True, transparent=True) +def berryBush(self, blockid, data): + t = self.load_image_texture("assets/lotr/textures/blocks/berryBush_blueberry_bare.png") + if data == 0: # Blueberry Bush Bare + t = self.load_image_texture("assets/lotr/textures/blocks/berryBush_blueberry_bare.png") + elif data == 1: # Blackberry Bush Bare + t = self.load_image_texture("assets/lotr/textures/blocks/berryBush_blackberry_bare.png") + elif data == 2: # Raspberry Bush Bare + t = self.load_image_texture("assets/lotr/textures/blocks/berryBush_raspberry_bare.png") + elif data == 3: # Cranberry Bush Bare + t = self.load_image_texture("assets/lotr/textures/blocks/berryBush_cranberry_bare.png") + elif data == 4: # Elderberry Bush Bare + t = self.load_image_texture("assets/lotr/textures/blocks/berryBush_elderberry_bare.png") + elif data == 8: # Blueberry Bush + t = self.load_image_texture("assets/lotr/textures/blocks/berryBush_blueberry.png") + elif data == 9: # Blackberry Bush + t = self.load_image_texture("assets/lotr/textures/blocks/berryBush_blackberry.png") + elif data == 10: # Raspberry Bush + t = self.load_image_texture("assets/lotr/textures/blocks/berryBush_raspberry.png") + elif data == 11: # Cranberry Bush + t = self.load_image_texture("assets/lotr/textures/blocks/berryBush_cranberry.png") + elif data == 12: # Elderberry Bush + t = self.load_image_texture("assets/lotr/textures/blocks/berryBush_elderberry.png") + return self.build_block(t, t) + +################################################################################ +# Transparent single texture sprites: ########################################## +################################################################################ + +@material(blockid=[, , , , , , ], data=range(16), transparent=True) +def lotr_saplings(self, blockid, data): + # default sapling + tex = self.load_image_texture("assets/minecraft/textures/blocks/sapling_oak.png") + if blockid == : + if data & 0x3 == 0: # Shire Pine Sapling + tex = self.load_image_texture("assets/lotr/textures/blocks/sapling_shirePine.png") + elif data & 0x3 == 1: # Mallorn Sapling + tex = self.load_image_texture("assets/lotr/textures/blocks/sapling_mallorn.png") + elif data & 0x3 == 2: # Mirk-oak Sapling + tex = self.load_image_texture("assets/lotr/textures/blocks/sapling_mirkOak.png") + elif data & 0x3 == 3: # Red Mirk-oak Sapling + tex = self.load_image_texture("assets/lotr/textures/blocks/sapling_mirkOakRed.png") + elif blockid == : + if data & 0x3 == 0: # Lebethron Sapling + tex = self.load_image_texture("assets/lotr/textures/blocks/sapling2_lebethron.png") + elif data & 0x3 == 1: # Beech Sapling + tex = self.load_image_texture("assets/lotr/textures/blocks/sapling2_beech.png") + elif data & 0x3 == 2: # Holly Sapling + tex = self.load_image_texture("assets/lotr/textures/blocks/sapling2_holly.png") + elif data & 0x3 == 3: # Banana Sapling + tex = self.load_image_texture("assets/lotr/textures/blocks/sapling2_banana.png") + elif blockid == : + if data & 0x3 == 0: # Maple Sapling + tex = self.load_image_texture("assets/lotr/textures/blocks/sapling3_maple.png") + elif data & 0x3 == 1: # Larch Sapling + tex = self.load_image_texture("assets/lotr/textures/blocks/sapling3_larch.png") + elif data & 0x3 == 2: # Date Palm Sapling + tex = self.load_image_texture("assets/lotr/textures/blocks/sapling3_datePalm.png") + elif data & 0x3 == 3: # Mangrove Sapling + tex = self.load_image_texture("assets/lotr/textures/blocks/sapling3_mangrove.png") + elif blockid == : + if data & 0x3 == 0: # Chestnut Sapling + tex = self.load_image_texture("assets/lotr/textures/blocks/sapling4_chestnut.png") + elif data & 0x3 == 1: # Baobab Sapling + tex = self.load_image_texture("assets/lotr/textures/blocks/sapling4_baobab.png") + elif data & 0x3 == 2: # Cedar Sapling + tex = self.load_image_texture("assets/lotr/textures/blocks/sapling4_cedar.png") + elif data & 0x3 == 3: # Fir Sapling + tex = self.load_image_texture("assets/lotr/textures/blocks/sapling4_fir.png") + elif blockid == : + if data & 0x3 == 0: # Pine Sapling + tex = self.load_image_texture("assets/lotr/textures/blocks/sapling5_pine.png") + elif blockid == : + if data & 0x3 == 0: # Apple Sapling + tex = self.load_image_texture("assets/lotr/textures/blocks/fruitSapling_apple.png") + elif data & 0x3 == 1: # Pear Sapling + tex = self.load_image_texture("assets/lotr/textures/blocks/fruitSapling_pear.png") + elif data & 0x3 == 2: # Cherry Sapling + tex = self.load_image_texture("assets/lotr/textures/blocks/fruitSapling_cherry.png") + elif data & 0x3 == 3: # Mango Sapling + tex = self.load_image_texture("assets/lotr/textures/blocks/fruitSapling_mango.png") + elif blockid == : + if data & 0x3 == 0: # Corrupt Mallorn Sapling + tex = self.load_image_texture("assets/lotr/textures/blocks/corruptMallorn.png") + return self.build_sprite(tex) + +sprite(blockid=, imagename="assets/lotr/textures/blocks/asphodel.png") +sprite(blockid=, imagename="assets/lotr/textures/blocks/aridGrass.png") +sprite(blockid=, imagename="assets/lotr/textures/blocks/athelas.png") +sprite(blockid=, imagename="assets/lotr/textures/blocks/bluebell.png") +sprite(blockid=, imagename="assets/lotr/textures/blocks/deadMarshPlant.png") +sprite(blockid=, imagename="assets/lotr/textures/blocks/dwarfHerb.png") +sprite(blockid=, imagename="assets/lotr/textures/blocks/elanor.png") +sprite(blockid=, imagename="assets/lotr/textures/blocks/flaxPlant.png") +sprite(blockid=, imagename="assets/lotr/textures/blocks/mordorGrass.png") +sprite(blockid=, imagename="assets/lotr/textures/blocks/mordorThorn.png") +sprite(blockid=, imagename="assets/lotr/textures/blocks/morgulShroom.png") +sprite(blockid=, imagename="assets/lotr/textures/blocks/niphredil.png") +sprite(blockid=, imagename="assets/lotr/textures/blocks/pipeweedPlant.png") +sprite(blockid=, imagename="assets/lotr/textures/blocks/shireHeather.png") +sprite(blockid=, imagename="assets/lotr/textures/blocks/simbelmyne.png") +sprite(blockid=, imagename="assets/lotr/textures/blocks/webUngoliant.png") + +##### Caveat: a bit ugly but will do... ##### +sprite(blockid=, imagename="assets/lotr/textures/items/mug.png") + +@material(blockid=, data=range(16), transparent=True) +def mordorMoss(self, blockid, data): + texture = self.load_image_texture("assets/lotr/textures/blocks/mordorMoss.png") + return self.build_full_block((texture,15),texture,texture,texture,texture) + +@material(blockid=, data=range(16), transparent=True) +def fangornRiverweed(self, blockid, data): + texture = self.load_image_texture("assets/lotr/textures/blocks/fangornRiverweed.png") + return self.build_full_block((texture,15),texture,texture,texture,texture) + +@material(blockid=, data=range(16), transparent=True) +def thatchFloor(self, blockid, data): + texture = self.load_image_texture("assets/lotr/textures/blocks/thatchFloor.png") + return self.build_full_block((texture,15),texture,texture,texture,texture) + +##### Caveat: a bit ugly but will do... ##### +@material(blockid=, data=range(16), transparent=True) +def lotr_plate(self, blockid, data): + texture = self.load_image_texture("assets/lotr/textures/blocks/plate_top.png") + return self.build_full_block((texture,15),texture,texture,texture,texture) + +@material(blockid=, data=range(16), transparent=True) +def pipeweed(self, blockid, data): + if data == 0 or data == 1: + tex = self.load_image_texture("assets/lotr/textures/blocks/pipeweed_0.png") + elif data == 2 or data == 3: + tex = self.load_image_texture("assets/lotr/textures/blocks/pipeweed_1.png") + elif data == 4 or data == 5 or data == 6: + tex = self.load_image_texture("assets/lotr/textures/blocks/pipeweed_2.png") + else: + tex = self.load_image_texture("assets/lotr/textures/blocks/pipeweed_3.png") + return self.build_sprite(tex) + +@material(blockid=, data=range(16), transparent=True) +def lettuce(self, blockid, data): + if data == 0 or data == 1: + tex = self.load_image_texture("assets/lotr/textures/blocks/lettuce_0.png") + elif data == 2 or data == 3: + tex = self.load_image_texture("assets/lotr/textures/blocks/lettuce_1.png") + elif data == 4 or data == 5 or data == 6: + tex = self.load_image_texture("assets/lotr/textures/blocks/lettuce_2.png") + else: + tex = self.load_image_texture("assets/lotr/textures/blocks/lettuce_3.png") + return self.build_sprite(tex) + +@material(blockid=, data=range(16), transparent=True) +def flax(self, blockid, data): + if data == 0 or data == 1: + tex = self.load_image_texture("assets/lotr/textures/blocks/flax_0.png") + elif data == 2 or data == 3: + tex = self.load_image_texture("assets/lotr/textures/blocks/flax_1.png") + elif data == 4 or data == 5 or data == 6: + tex = self.load_image_texture("assets/lotr/textures/blocks/flax_2.png") + else: + tex = self.load_image_texture("assets/lotr/textures/blocks/flaxPlant.png") + return self.build_sprite(tex) + +@material(blockid=, data=range(6), transparent=True) +def fangornPlant(self, blockid, data): + if data == 0: # Tears of Yavanna + tex = self.load_image_texture("assets/lotr/textures/blocks/fangornPlant_green.png") + elif data == 1: # Fangorn's Beard + tex = self.load_image_texture("assets/lotr/textures/blocks/fangornPlant_brown.png") + elif data == 2: # Huorn Leaf + tex = self.load_image_texture("assets/lotr/textures/blocks/fangornPlant_gold.png") + elif data == 3: # Elfsong + tex = self.load_image_texture("assets/lotr/textures/blocks/fangornPlant_yellow.png") + elif data == 4: # Sunfruit + tex = self.load_image_texture("assets/lotr/textures/blocks/fangornPlant_red.png") + elif data == 5: # Moonflower + tex = self.load_image_texture("assets/lotr/textures/blocks/fangornPlant_silver.png") + return self.build_sprite(tex) + +@material(blockid=, data=range(4), transparent=True) +def haradFlower(self, blockid, data): + if data == 0: # Red Sand Gem + tex = self.load_image_texture("assets/lotr/textures/blocks/haradFlower_red.png") + elif data == 1: # Yellow Sand Gem + tex = self.load_image_texture("assets/lotr/textures/blocks/haradFlower_yellow.png") + elif data == 2: # Harad Daisy + tex = self.load_image_texture("assets/lotr/textures/blocks/haradFlower_daisy.png") + elif data == 3: # Southbells + tex = self.load_image_texture("assets/lotr/textures/blocks/haradFlower_pink.png") + return self.build_sprite(tex) + +@material(blockid=[, ], data=range(2), transparent=True) +def tallTorch(self, blockid, data): + if blockid == : + if data == 0: + tex = self.load_image_texture("assets/lotr/textures/blocks/orcTorch_bottom.png") + elif data == 1: + tex = self.load_image_texture("assets/lotr/textures/blocks/orcTorch_top.png") + elif blockid == : + if data == 0: + tex = self.load_image_texture("assets/lotr/textures/blocks/tauredainDoubleTorch_bottom.png") + elif data == 1: + tex = self.load_image_texture("assets/lotr/textures/blocks/tauredainDoubleTorch_top.png") + return self.build_sprite(tex) + +################################################################################ +# Transparent bi texture sprites: ############################################## +################################################################################ + +##### Caveat: the top part of Flame of Harad and Hibiscus have the same data value than Yellow Iris, so they all have yellow tops ##### +@material(blockid=, data=range(16), transparent=True) +def lotr_double_flowers(self, blockid, data): + if data & 0x8: + part = "top" + else: + part = "bottom" + if data == 1 or data == 8: + plant = "yellowIris" + elif data == 2 or data == 9: + plant = "pink" + elif data == 3 or data == 10: + plant = "red" + else: # error! + plant = "red" + png = "assets/lotr/textures/blocks/doubleFlower_%s_%s.png" % (plant,part) + texture = self.load_image_texture(png) + img = self.build_billboard(texture) + return img + +################################################################################ +# Weirdoes ###################################################################### +################################################################################ + +@material(blockid=[, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], data=range(128), transparent=True, solid=True, nospawn=True) +def lotr_stairs(self, blockid, data): + # preserve the upside-down bit + upside_down = data & 0x4 + + # find solid quarters within the top or bottom half of the block + # NW NE SE SW + quarters = [data & 0x8, data & 0x10, data & 0x20, data & 0x40] + + # rotate the quarters so we can pretend northdirection is always upper-left + numpy.roll(quarters, [0,1,3,2][self.rotation]) + nw,ne,se,sw = quarters + + if blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/planks_shirePine.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick_mordor.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick_gondor.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/planks_mallorn.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick_gondorMossy.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick_gondorCracked.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick_rohan.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick_dwarven.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/planks_apple.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/planks_pear.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/planks_cherry.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/planks_mirkOak.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/planks_charred.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/planks_lebethron.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/planks_beech.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick_mordorCracked.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick_galadhrim.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick_galadhrimMossy.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick_galadhrimCracked.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/planks_holly.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick_blueRock.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick2_angmar.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick2_angmarCracked.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/planks_mango.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/planks_banana.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/planks_maple.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/planks_larch.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick2_redRock.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick_nearHarad.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/planks_datePalm.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/thatch.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick2_arnor.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick2_arnorMossy.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick2_arnorCracked.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick2_uruk.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick2_dolGuldur.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick2_dolGuldurCracked.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/planks_mangrove.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/planks2_chestnut.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/planks2_baobab.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/planks2_cedar.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick2_blackGondor.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick3_highElven.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick3_highElvenMossy.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick3_highElvenCracked.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick3_woodElven.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick3_woodElvenMossy.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick3_woodElvenCracked.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick3_dolAmroth.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/planks2_fir.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/planks2_pine.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick3_moredain.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick3_nearHaradCracked.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/redSandstone.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/planksRotten_rotten.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/scorchedStone.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/planks2_lemon.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/planks2_orange.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/planks2_lime.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick4_tauredain.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick4_tauredainCracked.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick4_tauredainMossy.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick4_tauredainGold.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick4_tauredainObsidian.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/planks2_mahogany.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick3_nearHaradRed.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick3_nearHaradRedCracked.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick4_dwarvenCracked.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/thatch_reed.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick4_dwarvenObsidian.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/planks2_willow.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/brick4_chalk.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/minecraft/textures/blocks/stonebrick_cracked.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/minecraft/textures/blocks/stonebrick_mossy.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/rock_mordor.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/rock_gondor.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/rock_rohan.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/rock_blue.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/rock_red.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/minecraft/textures/blocks/stone.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/rock_chalk.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/clayTile.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/clayTileDyed_white.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/clayTileDyed_orange.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/clayTileDyed_magenta.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/clayTileDyed_lightBlue.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/clayTileDyed_yellow.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/clayTileDyed_lime.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/clayTileDyed_pink.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/clayTileDyed_gray.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/clayTileDyed_lightGray.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/clayTileDyed_cyan.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/clayTileDyed_purple.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/clayTileDyed_blue.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/clayTileDyed_brown.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/clayTileDyed_green.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/clayTileDyed_red.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/clayTileDyed_black.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/utumnoBrick_fire.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/utumnoBrick_ice.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/utumnoBrick_obsidian.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/stairsMudBrick.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/stairsDaleBrick.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/stairsDorwinionBrick.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/stairsCypress.png").copy() + elif blockid == : + texture = self.load_image_texture("assets/lotr/textures/blocks/stairsOlive.png").copy() + + outside_l = texture.copy() + outside_r = texture.copy() + inside_l = texture.copy() + inside_r = texture.copy() + + slab_top = texture.copy() + + push = 8 if upside_down else 0 + + def rect(tex,coords): + ImageDraw.Draw(tex).rectangle(coords,outline=(0,0,0,0),fill=(0,0,0,0)) + + # cut out top or bottom half from inner surfaces + rect(inside_l, (0,8-push,15,15-push)) + rect(inside_r, (0,8-push,15,15-push)) + + # cut out missing or obstructed quarters from each surface + if not nw: + rect(outside_l, (0,push,7,7+push)) + rect(texture, (0,0,7,7)) + if not nw or sw: + rect(inside_r, (8,push,15,7+push)) # will be flipped + if not ne: + rect(texture, (8,0,15,7)) + if not ne or nw: + rect(inside_l, (0,push,7,7+push)) + if not ne or se: + rect(inside_r, (0,push,7,7+push)) # will be flipped + if not se: + rect(outside_r, (0,push,7,7+push)) # will be flipped + rect(texture, (8,8,15,15)) + if not se or sw: + rect(inside_l, (8,push,15,7+push)) + if not sw: + rect(outside_l, (8,push,15,7+push)) + rect(outside_r, (8,push,15,7+push)) # will be flipped + rect(texture, (0,8,7,15)) + + img = Image.new("RGBA", (24,24), self.bgcolor) + + if upside_down: + # top should have no cut-outs after all + texture = slab_top + else: + # render the slab-level surface + slab_top = self.transform_image_top(slab_top) + alpha_over(img, slab_top, (0,6)) + + # render inner left surface + inside_l = self.transform_image_side(inside_l) + # Darken the vertical part of the second step + sidealpha = inside_l.split()[3] + # darken it a bit more than usual, looks better + inside_l = ImageEnhance.Brightness(inside_l).enhance(0.8) + inside_l.putalpha(sidealpha) + alpha_over(img, inside_l, (6,3)) + + # render inner right surface + inside_r = self.transform_image_side(inside_r).transpose(Image.FLIP_LEFT_RIGHT) + # Darken the vertical part of the second step + sidealpha = inside_r.split()[3] + # darken it a bit more than usual, looks better + inside_r = ImageEnhance.Brightness(inside_r).enhance(0.7) + inside_r.putalpha(sidealpha) + alpha_over(img, inside_r, (6,3)) + + # render outer surfaces + alpha_over(img, self.build_full_block(texture, None, None, outside_l, outside_r)) + + return img + +@material(blockid=[, , , , , , , , , , , , , , ], data=range(256), transparent=True, nospawn=True) +def lotr_bars(self, blockid, data): + # no rotation, uses pseudo data + if blockid == : + t = self.load_image_texture("assets/lotr/textures/blocks/orcSteelBars.png") + elif blockid == : + t = self.load_image_texture("assets/lotr/textures/blocks/bronzeBars.png") + elif blockid == : + t = self.load_image_texture("assets/lotr/textures/blocks/goldBars.png") + elif blockid == : + t = self.load_image_texture("assets/lotr/textures/blocks/silverBars.png") + elif blockid == : + t = self.load_image_texture("assets/lotr/textures/blocks/mithrilBars.png") + elif blockid == : + t = self.load_image_texture("assets/lotr/textures/blocks/urukBars.png") + elif blockid == : + t = self.load_image_texture("assets/lotr/textures/blocks/highElfBars.png") + elif blockid == : + t = self.load_image_texture("assets/lotr/textures/blocks/galadhrimBars.png") + elif blockid == : + t = self.load_image_texture("assets/lotr/textures/blocks/woodElfBars.png") + elif blockid == : + t = self.load_image_texture("assets/lotr/textures/blocks/dwarfBars.png") + elif blockid == : + t = self.load_image_texture("assets/lotr/textures/blocks/blueDwarfBars.png") + elif blockid == : + t = self.load_image_texture("assets/lotr/textures/blocks/highElfWoodBars.png") + elif blockid == : + t = self.load_image_texture("assets/lotr/textures/blocks/galadhrimWoodBars.png") + elif blockid == : + t = self.load_image_texture("assets/lotr/textures/blocks/woodElfWoodBars.png") + elif blockid == : + t = self.load_image_texture("assets/lotr/textures/blocks/reedBars.png") + left = t.copy() + right = t.copy() + # generate the four small pieces of the glass pane + ImageDraw.Draw(right).rectangle((0,0,7,15),outline=(0,0,0,0),fill=(0,0,0,0)) + ImageDraw.Draw(left).rectangle((8,0,15,15),outline=(0,0,0,0),fill=(0,0,0,0)) + up_left = self.transform_image_side(left) + up_right = self.transform_image_side(right).transpose(Image.FLIP_TOP_BOTTOM) + dw_right = self.transform_image_side(right) + dw_left = self.transform_image_side(left).transpose(Image.FLIP_TOP_BOTTOM) + # Create img to compose the texture + img = Image.new("RGBA", (24,24), self.bgcolor) + # +x axis points top right direction + # +y axis points bottom right direction + # First compose things in the back of the image, + # then things in the front. + # the lower 4 bits encode color, the upper 4 encode adjencies + data = data >> 4 + if (data & 0b0001) == 1 or data == 0: + alpha_over(img,up_left, (6,3),up_left) # top left + if (data & 0b1000) == 8 or data == 0: + alpha_over(img,up_right, (6,3),up_right) # top right + if (data & 0b0010) == 2 or data == 0: + alpha_over(img,dw_left, (6,3),dw_left) # bottom left + if (data & 0b0100) == 4 or data == 0: + alpha_over(img,dw_right, (6,3),dw_right) # bottom right + return img + +@material(blockid=[, , , , , , , , , , , , , , , , , , , , , , , , , ], data=range(16), transparent=(44,), solid=True) +def lotr_slabs(self, blockid, data): + t = data & 7 + top = side = self.load_image_texture("assets/lotr/textures/blocks/planks_shirePine.png") + if blockid == or blockid == : + if t == 0: + top = side = self.load_image_texture("assets/lotr/textures/blocks/planks_shirePine.png") + elif t == 1: + top = side = self.load_image_texture("assets/lotr/textures/blocks/planks_mallorn.png") + elif t == 2: + top = side = self.load_image_texture("assets/lotr/textures/blocks/planks_mirkOak.png") + elif t == 3: + top = side = self.load_image_texture("assets/lotr/textures/blocks/planks_charred.png") + elif t == 4: + top = side = self.load_image_texture("assets/lotr/textures/blocks/planks_apple.png") + elif t == 5: + top = side = self.load_image_texture("assets/lotr/textures/blocks/planks_pear.png") + elif t == 6: + top = side = self.load_image_texture("assets/lotr/textures/blocks/planks_cherry.png") + elif t == 7: + top = side = self.load_image_texture("assets/lotr/textures/blocks/planks_mango.png") + elif blockid == or blockid == : + if t == 0: + top = side = self.load_image_texture("assets/lotr/textures/blocks/planks_lebethron.png") + elif t == 1: + top = side = self.load_image_texture("assets/lotr/textures/blocks/planks_beech.png") + elif t == 2: + top = side = self.load_image_texture("assets/lotr/textures/blocks/planks_holly.png") + elif t == 3: + top = side = self.load_image_texture("assets/lotr/textures/blocks/planks_banana.png") + elif t == 4: + top = side = self.load_image_texture("assets/lotr/textures/blocks/planks_maple.png") + elif t == 5: + top = side = self.load_image_texture("assets/lotr/textures/blocks/planks_larch.png") + elif t == 6: + top = side = self.load_image_texture("assets/lotr/textures/blocks/planks_datePalm.png") + elif t == 7: + top = side = self.load_image_texture("assets/lotr/textures/blocks/planks_mangrove.png") + elif blockid == or blockid == : + if t == 0: + top = side = self.load_image_texture("assets/lotr/textures/blocks/planks2_chestnut.png") + elif t == 1: + top = side = self.load_image_texture("assets/lotr/textures/blocks/planks2_baobab.png") + elif t == 2: + top = side = self.load_image_texture("assets/lotr/textures/blocks/planks2_cedar.png") + elif t == 3: + top = side = self.load_image_texture("assets/lotr/textures/blocks/planks2_fir.png") + elif t == 4: + top = side = self.load_image_texture("assets/lotr/textures/blocks/planks2_pine.png") + elif blockid == or blockid == : + if t == 0: + top = self.load_image_texture("assets/lotr/textures/blocks/slab_mordorRock_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/slab_mordorRock_side.png") + elif t == 1: + top = side = self.load_image_texture("assets/lotr/textures/blocks/brick_mordor.png") + elif t == 2: + top = self.load_image_texture("assets/lotr/textures/blocks/slab_gondorRock_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/slab_gondorRock_side.png") + elif t == 3: + top = side = self.load_image_texture("assets/lotr/textures/blocks/brick_gondor.png") + elif t == 4: + top = side = self.load_image_texture("assets/lotr/textures/blocks/brick_gondorMossy.png") + elif t == 5: + top = side = self.load_image_texture("assets/lotr/textures/blocks/brick_gondorCracked.png") + elif t == 6: + top = side = self.load_image_texture("assets/lotr/textures/blocks/brick_rohan.png") + elif t == 7: + top = side = self.load_image_texture("assets/lotr/textures/blocks/brick_dwarven.png") + elif blockid == or blockid == : + if t == 0: + top = self.load_image_texture("assets/lotr/textures/blocks/pillar_dwarven_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar_dwarven_sideBottom.png") + elif t == 1: + top = self.load_image_texture("assets/lotr/textures/blocks/slab_rohanRock_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/slab_rohanRock_side.png") + elif t == 2: + top = side = self.load_image_texture("assets/lotr/textures/blocks/brick_mordorCracked.png") + elif t == 3: + top = side = self.load_image_texture("assets/lotr/textures/blocks/brick_galadhrim.png") + elif t == 4: + top = side = self.load_image_texture("assets/lotr/textures/blocks/brick_galadhrimMossy.png") + elif t == 5: + top = side = self.load_image_texture("assets/lotr/textures/blocks/brick_galadhrimCracked.png") + elif t == 6: + top = self.load_image_texture("assets/lotr/textures/blocks/pillar_galadhrim_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar_galadhrim_sideBottom.png") + elif t == 7: + top = self.load_image_texture("assets/lotr/textures/blocks/pillar_galadhrimCracked_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar_galadhrimCracked_sideBottom.png") + elif blockid == or blockid == : + if t == 0: + top = self.load_image_texture("assets/lotr/textures/blocks/slab_blueRock_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/slab_blueRock_side.png") + elif t == 1: + top = side = self.load_image_texture("assets/lotr/textures/blocks/brick_blueRock.png") + elif t == 2: + top = self.load_image_texture("assets/lotr/textures/blocks/pillar_blueRock_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar_blueRock_sideBottom.png") + elif t == 3: + top = side = self.load_image_texture("assets/lotr/textures/blocks/brick2_angmar.png") + elif t == 4: + top = side = self.load_image_texture("assets/lotr/textures/blocks/brick2_angmarCracked.png") + elif t == 5: + top = self.load_image_texture("assets/lotr/textures/blocks/slab_redRock_top.png") + side = self.load_image_texture("assets/lotr/textures/blocks/slab_redRock_side.png") + elif t == 6: + top = side = self.load_image_texture("assets/lotr/textures/blocks/brick2_redRock.png") + elif t == 7: + top = self.load_image_texture("assets/lotr/textures/blocks/pillar_redRock_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar_redRock_sideBottom.png") + elif blockid == or blockid == : + if t == 0: + top = side = self.load_image_texture("assets/lotr/textures/blocks/brick_nearHarad.png") + elif t == 1: + top = side = self.load_image_texture("assets/lotr/textures/blocks/brick2_arnor.png") + elif t == 2: + top = side = self.load_image_texture("assets/lotr/textures/blocks/brick2_arnorMossy.png") + elif t == 3: + top = side = self.load_image_texture("assets/lotr/textures/blocks/brick2_arnorCracked.png") + elif t == 4: + top = side = self.load_image_texture("assets/lotr/textures/blocks/brick2_uruk.png") + elif t == 5: + top = side = self.load_image_texture("assets/lotr/textures/blocks/brick2_dolGuldur.png") + elif t == 6: + top = side = self.load_image_texture("assets/lotr/textures/blocks/brick2_dolGuldurCracked.png") + elif t == 7: + top = self.load_image_texture("assets/lotr/textures/blocks/pillar_nearHarad_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar_nearHarad_sideBottom.png") + elif blockid == or blockid == : + if t == 0: + top = self.load_image_texture("assets/lotr/textures/blocks/pillar_gondor_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar_gondor_sideBottom.png") + elif t == 1: + top = self.load_image_texture("assets/lotr/textures/blocks/pillar_mordor_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar_mordor_sideBottom.png") + elif t == 2: + top = self.load_image_texture("assets/lotr/textures/blocks/pillar_rohan_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar_rohan_sideBottom.png") + elif t == 3: + top = side = self.load_image_texture("assets/lotr/textures/blocks/brick2_blackGondor.png") + elif t == 4: + top = self.load_image_texture("assets/lotr/textures/blocks/pillar_blackGondor_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar_blackGondor_sideBottom.png") + elif t == 5: + top = side = self.load_image_texture("assets/lotr/textures/blocks/brick3_highElven.png") + elif t == 6: + top = side = self.load_image_texture("assets/lotr/textures/blocks/brick3_highElvenMossy.png") + elif t == 7: + top = side = self.load_image_texture("assets/lotr/textures/blocks/brick3_highElvenCracked.png") + elif blockid == or blockid == : + if t == 0: + top = self.load_image_texture("assets/lotr/textures/blocks/pillar_highElven_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar_highElven_sideBottom.png") + elif t == 1: + top = self.load_image_texture("assets/lotr/textures/blocks/pillar_highElvenCracked_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar_highElvenCracked_sideBottom.png") + elif t == 2: + top = side = self.load_image_texture("assets/lotr/textures/blocks/brick3_woodElven.png") + elif t == 3: + top = side = self.load_image_texture("assets/lotr/textures/blocks/brick3_woodElvenMossy.png") + elif t == 4: + top = side = self.load_image_texture("assets/lotr/textures/blocks/brick3_woodElvenCracked.png") + elif t == 5: + top = self.load_image_texture("assets/lotr/textures/blocks/pillar_woodElven_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar_woodElven_sideBottom.png") + elif t == 6: + top = self.load_image_texture("assets/lotr/textures/blocks/pillar_woodElvenCracked_face.png") + side = self.load_image_texture("assets/lotr/textures/blocks/pillar_woodElvenCracked_sideBottom.png") + elif t == 7: + top = side = self.load_image_texture("assets/lotr/textures/blocks/brick3_dolAmroth.png") + elif blockid == or blockid == : + if t == 0: + top = side = self.load_image_texture("assets/lotr/textures/blocks/brick3_moredain.png") + elif t == 1: + top = side = self.load_image_texture("assets/lotr/textures/blocks/brick3_nearHaradCracked.png") + elif blockid == or blockid == : + if t == 0: + top = side = self.load_image_texture("assets/lotr/textures/blocks/thatch.png") + elif blockid == or blockid == : + if t == 0: + top = side = self.load_image_texture("assets/lotr/textures/blocks/planksRotten_rotten.png") + elif blockid == or blockid == : + if t == 0: + top = side = self.load_image_texture("assets/lotr/textures/blocks/scorchedStone.png") + else: + return None + + # double slabs: + if blockid == or blockid == or blockid == or blockid == or blockid == or blockid == or blockid == or blockid == or blockid == or blockid == or blockid == or blockid == : + return self.build_block(top, side) + + # cut the side texture in half + mask = side.crop((0,8,16,16)) + side = Image.new(side.mode, side.size, self.bgcolor) + alpha_over(side, mask,(0,0,16,8), mask) + + # plain slab + top = self.transform_image_top(top) + side = self.transform_image_side(side) + otherside = side.transpose(Image.FLIP_LEFT_RIGHT) + + sidealpha = side.split()[3] + side = ImageEnhance.Brightness(side).enhance(0.9) + side.putalpha(sidealpha) + othersidealpha = otherside.split()[3] + otherside = ImageEnhance.Brightness(otherside).enhance(0.8) + otherside.putalpha(othersidealpha) + + # upside down slab + delta = 0 + if data & 8 == 8: + delta = 6 + + img = Image.new("RGBA", (24,24), self.bgcolor) + alpha_over(img, side, (0,12 - delta), side) + alpha_over(img, otherside, (12,12 - delta), otherside) + alpha_over(img, top, (0,6 - delta), top) + + return img + +@material(blockid=[, , , , ], data=range(32), transparent=True, nospawn=True) +def lotr_walls(self, blockid, data): + t = self.load_image_texture("assets/minecraft/textures/blocks/cobblestone.png").copy() + if blockid == : + if data == 0: + t = self.load_image_texture("assets/lotr/textures/blocks/rock_mordor.png").copy() + elif data == 1: + t = self.load_image_texture("assets/lotr/textures/blocks/brick_mordor.png").copy() + elif data == 2: + t = self.load_image_texture("assets/lotr/textures/blocks/rock_gondor.png").copy() + elif data == 3: + t = self.load_image_texture("assets/lotr/textures/blocks/brick_gondor.png").copy() + elif data == 4: + t = self.load_image_texture("assets/lotr/textures/blocks/brick_gondorMossy.png").copy() + elif data == 5: + t = self.load_image_texture("assets/lotr/textures/blocks/brick_gondorCracked.png").copy() + elif data == 6: + t = self.load_image_texture("assets/lotr/textures/blocks/brick_rohan.png").copy() + elif data == 7: + t = self.load_image_texture("assets/lotr/textures/blocks/brick_dwarven.png").copy() + elif data == 8: + t = self.load_image_texture("assets/lotr/textures/blocks/rock_rohan.png").copy() + elif data == 9: + t = self.load_image_texture("assets/lotr/textures/blocks/brick_mordorCracked.png").copy() + elif data == 10: + t = self.load_image_texture("assets/lotr/textures/blocks/brick_galadhrim.png").copy() + elif data == 11: + t = self.load_image_texture("assets/lotr/textures/blocks/brick_galadhrimMossy.png").copy() + elif data == 12: + t = self.load_image_texture("assets/lotr/textures/blocks/brick_galadhrimCracked.png").copy() + elif data == 13: + t = self.load_image_texture("assets/lotr/textures/blocks/rock_blue.png").copy() + elif data == 14: + t = self.load_image_texture("assets/lotr/textures/blocks/brick_blueRock.png").copy() + elif data == 15: + t = self.load_image_texture("assets/lotr/textures/blocks/brick_nearHarad.png").copy() + elif blockid == : + if data == 0: + t = self.load_image_texture("assets/lotr/textures/blocks/brick2_angmar.png").copy() + elif data == 1: + t = self.load_image_texture("assets/lotr/textures/blocks/brick2_angmarCracked.png").copy() + elif data == 2: + t = self.load_image_texture("assets/lotr/textures/blocks/rock_red.png").copy() + elif data == 3: + t = self.load_image_texture("assets/lotr/textures/blocks/brick2_redRock.png").copy() + elif data == 4: + t = self.load_image_texture("assets/lotr/textures/blocks/brick2_arnor.png").copy() + elif data == 5: + t = self.load_image_texture("assets/lotr/textures/blocks/brick2_arnorMossy.png").copy() + elif data == 6: + t = self.load_image_texture("assets/lotr/textures/blocks/brick2_arnorCracked.png").copy() + elif data == 7: + t = self.load_image_texture("assets/lotr/textures/blocks/brick2_uruk.png").copy() + elif data == 8: + t = self.load_image_texture("assets/lotr/textures/blocks/brick2_dolGuldur.png").copy() + elif data == 9: + t = self.load_image_texture("assets/lotr/textures/blocks/brick2_dolGuldurCracked.png").copy() + elif data == 10: + t = self.load_image_texture("assets/lotr/textures/blocks/brick2_blackGondor.png").copy() + elif data == 11: + t = self.load_image_texture("assets/lotr/textures/blocks/brick3_highElven.png").copy() + elif data == 12: + t = self.load_image_texture("assets/lotr/textures/blocks/brick3_highElvenMossy.png").copy() + elif data == 13: + t = self.load_image_texture("assets/lotr/textures/blocks/brick3_highElvenCracked.png").copy() + elif data == 14: + t = self.load_image_texture("assets/lotr/textures/blocks/brick3_dolAmroth.png").copy() + elif data == 15: + t = self.load_image_texture("assets/lotr/textures/blocks/brick3_moredain.png").copy() + elif blockid == : + if data == 0: + t = self.load_image_texture("assets/lotr/textures/blocks/brick3_woodElven.png").copy() + elif data == 1: + t = self.load_image_texture("assets/lotr/textures/blocks/brick3_woodElvenMossy.png").copy() + elif data == 2: + t = self.load_image_texture("assets/lotr/textures/blocks/brick3_woodElvenCracked.png").copy() + elif data == 3: + t = self.load_image_texture("assets/lotr/textures/blocks/brick3_nearHaradCracked.png").copy() + elif blockid == : + t = self.load_image_texture("assets/lotr/textures/blocks/scorchedStone.png").copy() + + wall_pole_top = t.copy() + wall_pole_side = t.copy() + wall_side_top = t.copy() + wall_side = t.copy() + # _full is used for walls without pole + wall_side_top_full = t.copy() + wall_side_full = t.copy() + + # generate the textures of the wall + ImageDraw.Draw(wall_pole_top).rectangle((0,0,3,15),outline=(0,0,0,0),fill=(0,0,0,0)) + ImageDraw.Draw(wall_pole_top).rectangle((12,0,15,15),outline=(0,0,0,0),fill=(0,0,0,0)) + ImageDraw.Draw(wall_pole_top).rectangle((0,0,15,3),outline=(0,0,0,0),fill=(0,0,0,0)) + ImageDraw.Draw(wall_pole_top).rectangle((0,12,15,15),outline=(0,0,0,0),fill=(0,0,0,0)) + + ImageDraw.Draw(wall_pole_side).rectangle((0,0,3,15),outline=(0,0,0,0),fill=(0,0,0,0)) + ImageDraw.Draw(wall_pole_side).rectangle((12,0,15,15),outline=(0,0,0,0),fill=(0,0,0,0)) + + # Create the sides and the top of the pole + wall_pole_side = self.transform_image_side(wall_pole_side) + wall_pole_other_side = wall_pole_side.transpose(Image.FLIP_LEFT_RIGHT) + wall_pole_top = self.transform_image_top(wall_pole_top) + + # Darken the sides slightly. These methods also affect the alpha layer, + # so save them first (we don't want to "darken" the alpha layer making + # the block transparent) + sidealpha = wall_pole_side.split()[3] + wall_pole_side = ImageEnhance.Brightness(wall_pole_side).enhance(0.8) + wall_pole_side.putalpha(sidealpha) + othersidealpha = wall_pole_other_side.split()[3] + wall_pole_other_side = ImageEnhance.Brightness(wall_pole_other_side).enhance(0.7) + wall_pole_other_side.putalpha(othersidealpha) + + # Compose the wall pole + wall_pole = Image.new("RGBA", (24,24), self.bgcolor) + alpha_over(wall_pole,wall_pole_side, (3,4),wall_pole_side) + alpha_over(wall_pole,wall_pole_other_side, (9,4),wall_pole_other_side) + alpha_over(wall_pole,wall_pole_top, (0,0),wall_pole_top) + + # create the sides and the top of a wall attached to a pole + ImageDraw.Draw(wall_side).rectangle((0,0,15,2),outline=(0,0,0,0),fill=(0,0,0,0)) + ImageDraw.Draw(wall_side).rectangle((0,0,11,15),outline=(0,0,0,0),fill=(0,0,0,0)) + ImageDraw.Draw(wall_side_top).rectangle((0,0,11,15),outline=(0,0,0,0),fill=(0,0,0,0)) + ImageDraw.Draw(wall_side_top).rectangle((0,0,15,4),outline=(0,0,0,0),fill=(0,0,0,0)) + ImageDraw.Draw(wall_side_top).rectangle((0,11,15,15),outline=(0,0,0,0),fill=(0,0,0,0)) + # full version, without pole + ImageDraw.Draw(wall_side_full).rectangle((0,0,15,2),outline=(0,0,0,0),fill=(0,0,0,0)) + ImageDraw.Draw(wall_side_top_full).rectangle((0,4,15,15),outline=(0,0,0,0),fill=(0,0,0,0)) + ImageDraw.Draw(wall_side_top_full).rectangle((0,4,15,15),outline=(0,0,0,0),fill=(0,0,0,0)) + + # compose the sides of a wall atached to a pole + tmp = Image.new("RGBA", (24,24), self.bgcolor) + wall_side = self.transform_image_side(wall_side) + wall_side_top = self.transform_image_top(wall_side_top) + + # Darken the sides slightly. These methods also affect the alpha layer, + # so save them first (we don't want to "darken" the alpha layer making + # the block transparent) + sidealpha = wall_side.split()[3] + wall_side = ImageEnhance.Brightness(wall_side).enhance(0.7) + wall_side.putalpha(sidealpha) + + alpha_over(tmp,wall_side, (0,0),wall_side) + alpha_over(tmp,wall_side_top, (-5,3),wall_side_top) + wall_side = tmp + wall_other_side = wall_side.transpose(Image.FLIP_LEFT_RIGHT) + + # compose the sides of the full wall + tmp = Image.new("RGBA", (24,24), self.bgcolor) + wall_side_full = self.transform_image_side(wall_side_full) + wall_side_top_full = self.transform_image_top(wall_side_top_full.rotate(90)) + + # Darken the sides slightly. These methods also affect the alpha layer, + # so save them first (we don't want to "darken" the alpha layer making + # the block transparent) + sidealpha = wall_side_full.split()[3] + wall_side_full = ImageEnhance.Brightness(wall_side_full).enhance(0.7) + wall_side_full.putalpha(sidealpha) + + alpha_over(tmp,wall_side_full, (4,0),wall_side_full) + alpha_over(tmp,wall_side_top_full, (3,-4),wall_side_top_full) + wall_side_full = tmp + wall_other_side_full = wall_side_full.transpose(Image.FLIP_LEFT_RIGHT) + + # Create img to compose the wall + img = Image.new("RGBA", (24,24), self.bgcolor) + + # Position wall imgs around the wall bit stick + pos_top_left = (-5,-2) + pos_bottom_left = (-8,4) + pos_top_right = (5,-3) + pos_bottom_right = (7,4) + + # +x axis points top right direction + # +y axis points bottom right direction + # There are two special cases for wall without pole. + # Normal case: + # First compose the walls in the back of the image, + # then the pole and then the walls in the front. + if (data == 0b1010) or (data == 0b11010): + alpha_over(img, wall_other_side_full,(0,2), wall_other_side_full) + elif (data == 0b0101) or (data == 0b10101): + alpha_over(img, wall_side_full,(0,2), wall_side_full) + else: + if (data & 0b0001) == 1: + alpha_over(img,wall_side, pos_top_left,wall_side) # top left + if (data & 0b1000) == 8: + alpha_over(img,wall_other_side, pos_top_right,wall_other_side) # top right + + alpha_over(img,wall_pole,(0,0),wall_pole) + + if (data & 0b0010) == 2: + alpha_over(img,wall_other_side, pos_bottom_left,wall_other_side) # bottom left + if (data & 0b0100) == 4: + alpha_over(img,wall_side, pos_bottom_right,wall_side) # bottom right + + return img + +@material(blockid=[, , ], data=range(16), transparent=True, nospawn=True) +def lotr_fences(self, blockid, data): + fence_top = self.load_image_texture("assets/lotr/textures/blocks/planks_shirePine.png").copy() + fence_side = self.load_image_texture("assets/lotr/textures/blocks/planks_shirePine.png").copy() + fence_small_side = self.load_image_texture("assets/lotr/textures/blocks/planks_shirePine.png").copy() + if blockid == : + if data == 0: + fence_top = fence_side = fence_small_side = self.load_image_texture("assets/lotr/textures/blocks/planks_shirePine.png").copy() + elif data == 1: + fence_top = fence_side = fence_small_side = self.load_image_texture("assets/lotr/textures/blocks/planks_mallorn.png").copy() + elif data == 2: + fence_top = fence_side = fence_small_side = self.load_image_texture("assets/lotr/textures/blocks/planks_mirkOak.png").copy() + elif data == 3: + fence_top = fence_side = fence_small_side = self.load_image_texture("assets/lotr/textures/blocks/planks_charred.png").copy() + elif data == 4: + fence_top = fence_side = fence_small_side = self.load_image_texture("assets/lotr/textures/blocks/planks_apple.png").copy() + elif data == 5: + fence_top = fence_side = fence_small_side = self.load_image_texture("assets/lotr/textures/blocks/planks_pear.png").copy() + elif data == 6: + fence_top = fence_side = fence_small_side = self.load_image_texture("assets/lotr/textures/blocks/planks_cherry.png").copy() + elif data == 7: + fence_top = fence_side = fence_small_side = self.load_image_texture("assets/lotr/textures/blocks/planks_mango.png").copy() + elif data == 8: + fence_top = fence_side = fence_small_side = self.load_image_texture("assets/lotr/textures/blocks/planks_lebethron.png").copy() + elif data == 9: + fence_top = fence_side = fence_small_side = self.load_image_texture("assets/lotr/textures/blocks/planks_beech.png").copy() + elif data == 10: + fence_top = fence_side = fence_small_side = self.load_image_texture("assets/lotr/textures/blocks/planks_holly.png").copy() + elif data == 11: + fence_top = fence_side = fence_small_side = self.load_image_texture("assets/lotr/textures/blocks/planks_banana.png").copy() + elif data == 12: + fence_top = fence_side = fence_small_side = self.load_image_texture("assets/lotr/textures/blocks/planks_maple.png").copy() + elif data == 13: + fence_top = fence_side = fence_small_side = self.load_image_texture("assets/lotr/textures/blocks/planks_larch.png").copy() + elif data == 14: + fence_top = fence_side = fence_small_side = self.load_image_texture("assets/lotr/textures/blocks/planks_datePalm.png").copy() + elif data == 15: + fence_top = fence_side = fence_small_side = self.load_image_texture("assets/lotr/textures/blocks/planks_mangrove.png").copy() + elif blockid == : + if data == 0: + fence_top = fence_side = fence_small_side = self.load_image_texture("assets/lotr/textures/blocks/planks2_chestnut.png").copy() + elif data == 1: + fence_top = fence_side = fence_small_side = self.load_image_texture("assets/lotr/textures/blocks/planks2_baobab.png").copy() + elif data == 2: + fence_top = fence_side = fence_small_side = self.load_image_texture("assets/lotr/textures/blocks/planks2_cedar.png").copy() + elif data == 3: + fence_top = fence_side = fence_small_side = self.load_image_texture("assets/lotr/textures/blocks/planks2_fir.png").copy() + elif data == 4: + fence_top = fence_side = fence_small_side = self.load_image_texture("assets/lotr/textures/blocks/planks2_pine.png").copy() + elif blockid == : + fence_top = fence_side = fence_small_side = self.load_image_texture("assets/lotr/textures/blocks/planksRotten_rotten").copy() + + # generate the textures of the fence + ImageDraw.Draw(fence_top).rectangle((0,0,5,15),outline=(0,0,0,0),fill=(0,0,0,0)) + ImageDraw.Draw(fence_top).rectangle((10,0,15,15),outline=(0,0,0,0),fill=(0,0,0,0)) + ImageDraw.Draw(fence_top).rectangle((0,0,15,5),outline=(0,0,0,0),fill=(0,0,0,0)) + ImageDraw.Draw(fence_top).rectangle((0,10,15,15),outline=(0,0,0,0),fill=(0,0,0,0)) + + ImageDraw.Draw(fence_side).rectangle((0,0,5,15),outline=(0,0,0,0),fill=(0,0,0,0)) + ImageDraw.Draw(fence_side).rectangle((10,0,15,15),outline=(0,0,0,0),fill=(0,0,0,0)) + + # Create the sides and the top of the big stick + fence_side = self.transform_image_side(fence_side) + fence_other_side = fence_side.transpose(Image.FLIP_LEFT_RIGHT) + fence_top = self.transform_image_top(fence_top) + + # Darken the sides slightly. These methods also affect the alpha layer, + # so save them first (we don't want to "darken" the alpha layer making + # the block transparent) + sidealpha = fence_side.split()[3] + fence_side = ImageEnhance.Brightness(fence_side).enhance(0.9) + fence_side.putalpha(sidealpha) + othersidealpha = fence_other_side.split()[3] + fence_other_side = ImageEnhance.Brightness(fence_other_side).enhance(0.8) + fence_other_side.putalpha(othersidealpha) + + # Compose the fence big stick + fence_big = Image.new("RGBA", (24,24), self.bgcolor) + alpha_over(fence_big,fence_side, (5,4),fence_side) + alpha_over(fence_big,fence_other_side, (7,4),fence_other_side) + alpha_over(fence_big,fence_top, (0,0),fence_top) + + # Now render the small sticks. + # Create needed images + ImageDraw.Draw(fence_small_side).rectangle((0,0,15,0),outline=(0,0,0,0),fill=(0,0,0,0)) + ImageDraw.Draw(fence_small_side).rectangle((0,4,15,6),outline=(0,0,0,0),fill=(0,0,0,0)) + ImageDraw.Draw(fence_small_side).rectangle((0,10,15,16),outline=(0,0,0,0),fill=(0,0,0,0)) + ImageDraw.Draw(fence_small_side).rectangle((0,0,4,15),outline=(0,0,0,0),fill=(0,0,0,0)) + ImageDraw.Draw(fence_small_side).rectangle((11,0,15,15),outline=(0,0,0,0),fill=(0,0,0,0)) + + # Create the sides and the top of the small sticks + fence_small_side = self.transform_image_side(fence_small_side) + fence_small_other_side = fence_small_side.transpose(Image.FLIP_LEFT_RIGHT) + + # Darken the sides slightly. These methods also affect the alpha layer, + # so save them first (we don't want to "darken" the alpha layer making + # the block transparent) + sidealpha = fence_small_other_side.split()[3] + fence_small_other_side = ImageEnhance.Brightness(fence_small_other_side).enhance(0.9) + fence_small_other_side.putalpha(sidealpha) + sidealpha = fence_small_side.split()[3] + fence_small_side = ImageEnhance.Brightness(fence_small_side).enhance(0.9) + fence_small_side.putalpha(sidealpha) + + # Create img to compose the fence + img = Image.new("RGBA", (24,24), self.bgcolor) + + # Position of fence small sticks in img. + # These postitions are strange because the small sticks of the + # fence are at the very left and at the very right of the 16x16 images + pos_top_left = (2,3) + pos_top_right = (10,3) + pos_bottom_right = (10,7) + pos_bottom_left = (2,7) + + # +x axis points top right direction + # +y axis points bottom right direction + # First compose small sticks in the back of the image, + # then big stick and thecn small sticks in the front. + + if (data & 0b0001) == 1: + alpha_over(img,fence_small_side, pos_top_left,fence_small_side) # top left + if (data & 0b1000) == 8: + alpha_over(img,fence_small_other_side, pos_top_right,fence_small_other_side) # top right + + alpha_over(img,fence_big,(0,0),fence_big) + + if (data & 0b0010) == 2: + alpha_over(img,fence_small_other_side, pos_bottom_left,fence_small_other_side) # bottom left + if (data & 0b0100) == 4: + alpha_over(img,fence_small_side, pos_bottom_right,fence_small_side) # bottom right + + return img + +@material(blockid=[, , ] data=[2, 3, 4, 5], transparent=True) +def mallornLadder(self, blockid, data): + # first rotations + if self.rotation == 1: + if data == 2: data = 5 + elif data == 3: data = 4 + elif data == 4: data = 2 + elif data == 5: data = 3 + elif self.rotation == 2: + if data == 2: data = 3 + elif data == 3: data = 2 + elif data == 4: data = 5 + elif data == 5: data = 4 + elif self.rotation == 3: + if data == 2: data = 4 + elif data == 3: data = 5 + elif data == 4: data = 3 + elif data == 5: data = 2 + img = Image.new("RGBA", (24,24), self.bgcolor) + if blockid=: + raw_texture = self.load_image_texture("assets/lotr/textures/blocks/mallornLadder.png") + elif blockid=: + raw_texture = self.load_image_texture("assets/lotr/textures/blocks/hithlainLadder.png") + elif blockid=: + raw_texture = self.load_image_texture("assets/lotr/textures/blocks/willowVines.png") + if data == 5: + # normally this ladder would be obsured by the block it's attached to + # but since ladders can apparently be placed on transparent blocks, we + # have to render this thing anyway. same for data == 2 + tex = self.transform_image_side(raw_texture) + alpha_over(img, tex, (0,6), tex) + return img + if data == 2: + tex = self.transform_image_side(raw_texture).transpose(Image.FLIP_LEFT_RIGHT) + alpha_over(img, tex, (12,6), tex) + return img + if data == 3: + tex = self.transform_image_side(raw_texture).transpose(Image.FLIP_LEFT_RIGHT) + alpha_over(img, tex, (0,0), tex) + return img + if data == 4: + tex = self.transform_image_side(raw_texture) + alpha_over(img, tex, (12,0), tex) + return img + +@material(blockid=[, , , ], data=[1, 2, 3, 4, 5], transparent=True) +def lotr_torches(self, blockid, data): + # first, rotations + if self.rotation == 1: + if data == 1: data = 3 + elif data == 2: data = 4 + elif data == 3: data = 2 + elif data == 4: data = 1 + elif self.rotation == 2: + if data == 1: data = 2 + elif data == 2: data = 1 + elif data == 3: data = 4 + elif data == 4: data = 3 + elif self.rotation == 3: + if data == 1: data = 4 + elif data == 2: data = 3 + elif data == 3: data = 1 + elif data == 4: data = 2 + + # choose the proper texture + if blockid == : + small = self.load_image_texture("assets/lotr/textures/blocks/mallornTorch.png") + elif blockid == : + small = self.load_image_texture("assets/lotr/textures/blocks/woodElvenTorch.png") + elif blockid == : + small = self.load_image_texture("assets/lotr/textures/blocks/highElvenTorch.png") + elif blockid == : + small = self.load_image_texture("assets/lotr/textures/blocks/morgulTorch.png") + + # Misc/lotr244.blocks.textures.txt:orcTorch_bottom.png + # Misc/lotr244.blocks.textures.txt:orcTorch_top.png + # Misc/lotr244.items.textures.txt:orcTorch.png + + # compose a torch bigger than the normal + # (better for doing transformations) + torch = Image.new("RGBA", (16,16), self.bgcolor) + alpha_over(torch,small,(-4,-3)) + alpha_over(torch,small,(-5,-2)) + alpha_over(torch,small,(-3,-2)) + + # angle of inclination of the texture + rotation = 15 + + if data == 1: # pointing south + torch = torch.rotate(-rotation, Image.NEAREST) # nearest filter is more nitid. + img = self.build_full_block(None, None, None, torch, None, None) + + elif data == 2: # pointing north + torch = torch.rotate(rotation, Image.NEAREST) + img = self.build_full_block(None, None, torch, None, None, None) + + elif data == 3: # pointing west + torch = torch.rotate(rotation, Image.NEAREST) + img = self.build_full_block(None, torch, None, None, None, None) + + elif data == 4: # pointing east + torch = torch.rotate(-rotation, Image.NEAREST) + img = self.build_full_block(None, None, None, None, torch, None) + + elif data == 5: # standing on the floor + # compose a "3d torch". + img = Image.new("RGBA", (24,24), self.bgcolor) + + small_crop = small.crop((2,2,14,14)) + slice = small_crop.copy() + ImageDraw.Draw(slice).rectangle((6,0,12,12),outline=(0,0,0,0),fill=(0,0,0,0)) + ImageDraw.Draw(slice).rectangle((0,0,4,12),outline=(0,0,0,0),fill=(0,0,0,0)) + + alpha_over(img, slice, (7,5)) + alpha_over(img, small_crop, (6,6)) + alpha_over(img, small_crop, (7,6)) + alpha_over(img, slice, (7,7)) + + return img + +@material(blockid=[, , , , , , , ], data=range(12), transparent=True, nospawn=True) +def lotr_beds(self, blockid, data): + # first get rotation done + # Masked to not clobber block head/foot info + if self.rotation == 1: + if (data & 0b0011) == 0: data = data & 0b1100 | 1 + elif (data & 0b0011) == 1: data = data & 0b1100 | 2 + elif (data & 0b0011) == 2: data = data & 0b1100 | 3 + elif (data & 0b0011) == 3: data = data & 0b1100 | 0 + elif self.rotation == 2: + if (data & 0b0011) == 0: data = data & 0b1100 | 2 + elif (data & 0b0011) == 1: data = data & 0b1100 | 3 + elif (data & 0b0011) == 2: data = data & 0b1100 | 0 + elif (data & 0b0011) == 3: data = data & 0b1100 | 1 + elif self.rotation == 3: + if (data & 0b0011) == 0: data = data & 0b1100 | 3 + elif (data & 0b0011) == 1: data = data & 0b1100 | 0 + elif (data & 0b0011) == 2: data = data & 0b1100 | 1 + elif (data & 0b0011) == 3: data = data & 0b1100 | 2 + + if blockid == : + feetEnd = "assets/lotr/textures/blocks/elvenBed_feet_end.png" + feetSide = "assets/lotr/textures/blocks/elvenBed_feet_side.png" + feetTop = "assets/lotr/textures/blocks/elvenBed_feet_top.png" + headEnd = "assets/lotr/textures/blocks/elvenBed_head_end.png" + headSide = "assets/lotr/textures/blocks/elvenBed_head_side.png" + headTop = "assets/lotr/textures/blocks/elvenBed_head_top.png" + elif blockid == : + feetEnd = "assets/lotr/textures/blocks/woodElvenBed_feet_end.png" + feetSide = "assets/lotr/textures/blocks/woodElvenBed_feet_side.png" + feetTop = "assets/lotr/textures/blocks/woodElvenBed_feet_top.png" + headEnd = "assets/lotr/textures/blocks/woodElvenBed_head_end.png" + headSide = "assets/lotr/textures/blocks/woodElvenBed_head_side.png" + headTop = "assets/lotr/textures/blocks/woodElvenBed_head_top.png" + elif blockid == : + feetEnd = "assets/lotr/textures/blocks/dwarvenBed_feet_end.png" + feetSide = "assets/lotr/textures/blocks/dwarvenBed_feet_side.png" + feetTop = "assets/lotr/textures/blocks/dwarvenBed_feet_top.png" + headEnd = "assets/lotr/textures/blocks/dwarvenBed_head_end.png" + headSide = "assets/lotr/textures/blocks/dwarvenBed_head_side.png" + headTop = "assets/lotr/textures/blocks/dwarvenBed_head_top.png" + elif blockid == : + feetEnd = "assets/lotr/textures/blocks/orcBed_feet_end.png" + feetSide = "assets/lotr/textures/blocks/orcBed_feet_side.png" + feetTop = "assets/lotr/textures/blocks/orcBed_feet_top.png" + headEnd = "assets/lotr/textures/blocks/orcBed_head_end.png" + headSide = "assets/lotr/textures/blocks/orcBed_head_side.png" + headTop = "assets/lotr/textures/blocks/orcBed_head_top.png" + elif blockid == : + feetEnd = "assets/lotr/textures/blocks/lionBed_feet_end.png" + feetSide = "assets/lotr/textures/blocks/lionBed_feet_side.png" + feetTop = "assets/lotr/textures/blocks/lionBed_feet_top.png" + headEnd = "assets/lotr/textures/blocks/lionBed_head_end.png" + headSide = "assets/lotr/textures/blocks/lionBed_head_side.png" + headTop = "assets/lotr/textures/blocks/lionBed_head_top.png" + elif blockid == : + feetEnd = "assets/lotr/textures/blocks/highElvenBed_feet_end.png" + feetSide = "assets/lotr/textures/blocks/highElvenBed_feet_side.png" + feetTop = "assets/lotr/textures/blocks/highElvenBed_feet_top.png" + headEnd = "assets/lotr/textures/blocks/highElvenBed_head_end.png" + headSide = "assets/lotr/textures/blocks/highElvenBed_head_side.png" + headTop = "assets/lotr/textures/blocks/highElvenBed_head_top.png" + elif blockid == : + feetEnd = "assets/lotr/textures/blocks/strawBed_feet_end.png" + feetSide = "assets/lotr/textures/blocks/strawBed_feet_side.png" + feetTop = "assets/lotr/textures/blocks/strawBed_feet_top.png" + headEnd = "assets/lotr/textures/blocks/strawBed_head_end.png" + headSide = "assets/lotr/textures/blocks/strawBed_head_side.png" + headTop = "assets/lotr/textures/blocks/strawBed_head_top.png" + elif blockid == : + feetEnd = "assets/lotr/textures/blocks/wargFurBed_feet_end.png" + feetSide = "assets/lotr/textures/blocks/wargFurBed_feet_side.png" + feetTop = "assets/lotr/textures/blocks/wargFurBed_feet_top.png" + headEnd = "assets/lotr/textures/blocks/wargFurBed_head_end.png" + headSide = "assets/lotr/textures/blocks/wargFurBed_head_side.png" + headTop = "assets/lotr/textures/blocks/wargFurBed_head_top.png" + increment = 8 + left_face = None + right_face = None + if data & 0x8 == 0x8: # head of the bed + top = self.load_image_texture(headTop) + if data & 0x00 == 0x00: # head pointing to West + top = top.copy().rotate(270) + left_face = self.load_image_texture(headSide) + right_face = self.load_image_texture(headEnd) + if data & 0x01 == 0x01: # ... North + top = top.rotate(270) + left_face = self.load_image_texture(headEnd) + right_face = self.load_image_texture(headSide) + if data & 0x02 == 0x02: # East + top = top.rotate(180) + left_face = self.load_image_texture(headSide).transpose(Image.FLIP_LEFT_RIGHT) + right_face = None + if data & 0x03 == 0x03: # South + right_face = None + right_face = self.load_image_texture(headSide).transpose(Image.FLIP_LEFT_RIGHT) + + else: # foot of the bed + top = self.load_image_texture(feetTop) + if data & 0x00 == 0x00: # head pointing to West + top = top.rotate(270) + left_face = self.load_image_texture(feetSide) + right_face = None + if data & 0x01 == 0x01: # ... North + top = top.rotate(270) + left_face = None + right_face = self.load_image_texture(feetSide) + if data & 0x02 == 0x02: # East + top = top.rotate(180) + left_face = self.load_image_texture(feetSide).transpose(Image.FLIP_LEFT_RIGHT) + right_face = self.load_image_texture(feetEnd).transpose(Image.FLIP_LEFT_RIGHT) + if data & 0x03 == 0x03: # South + left_face = self.load_image_texture(feetEnd) + right_face = self.load_image_texture(feetSide).transpose(Image.FLIP_LEFT_RIGHT) + + top = (top, increment) + return self.build_full_block(top, None, None, left_face, right_face) + +@material(blockid=[, , , , , ], data=[0,1], transparent=True) +def lotr_pressure_plates(self, blockid, data): + if blockid == : + t = self.load_image_texture("assets/lotr/textures/blocks/rock_mordor.png").copy() + elif blockid == : + t = self.load_image_texture("assets/lotr/textures/blocks/rock_gondor.png").copy() + elif blockid == : + t = self.load_image_texture("assets/lotr/textures/blocks/rock_rohan.png").copy() + elif blockid == : + t = self.load_image_texture("assets/lotr/textures/blocks/rock_blue.png").copy() + elif blockid == : + t = self.load_image_texture("assets/lotr/textures/blocks/rock_red.png").copy() + elif blockid == : + t = self.load_image_texture("assets/lotr/textures/blocks/brick4_chalk.png").copy() + + # cut out the outside border, pressure plates are smaller + # than a normal block + ImageDraw.Draw(t).rectangle((0,0,15,15),outline=(0,0,0,0)) + + # create the textures and a darker version to make a 3d by + # pasting them with an offstet of 1 pixel + img = Image.new("RGBA", (24,24), self.bgcolor) + + top = self.transform_image_top(t) + + alpha = top.split()[3] + topd = ImageEnhance.Brightness(top).enhance(0.8) + topd.putalpha(alpha) + + #show it 3d or 2d if unpressed or pressed + if data == 0: + alpha_over(img,topd, (0,12),topd) + alpha_over(img,top, (0,11),top) + elif data == 1: + alpha_over(img,top, (0,12),top) + + return img + +@material(blockid=[, , , , , ], data=range(16), transparent=True) +def lotr_buttons(self, blockid, data): + + # 0x8 is set if the button is pressed mask this info and render + # it as unpressed + data = data & 0x7 + + if self.rotation == 1: + if data == 1: data = 3 + elif data == 2: data = 4 + elif data == 3: data = 2 + elif data == 4: data = 1 + elif self.rotation == 2: + if data == 1: data = 2 + elif data == 2: data = 1 + elif data == 3: data = 4 + elif data == 4: data = 3 + elif self.rotation == 3: + if data == 1: data = 4 + elif data == 2: data = 3 + elif data == 3: data = 1 + elif data == 4: data = 2 + + if blockid == : + t = self.load_image_texture("assets/lotr/textures/blocks/rock_mordor.png").copy() + elif blockid == : + t = self.load_image_texture("assets/lotr/textures/blocks/rock_gondor.png").copy() + elif blockid == : + t = self.load_image_texture("assets/lotr/textures/blocks/rock_rohan.png").copy() + elif blockid == : + t = self.load_image_texture("assets/lotr/textures/blocks/rock_blue.png").copy() + elif blockid == : + t = self.load_image_texture("assets/lotr/textures/blocks/rock_red.png").copy() + elif blockid == : + t = self.load_image_texture("assets/lotr/textures/blocks/brick4_chalk").copy() + + # generate the texture for the button + ImageDraw.Draw(t).rectangle((0,0,15,5),outline=(0,0,0,0),fill=(0,0,0,0)) + ImageDraw.Draw(t).rectangle((0,10,15,15),outline=(0,0,0,0),fill=(0,0,0,0)) + ImageDraw.Draw(t).rectangle((0,0,4,15),outline=(0,0,0,0),fill=(0,0,0,0)) + ImageDraw.Draw(t).rectangle((11,0,15,15),outline=(0,0,0,0),fill=(0,0,0,0)) + + img = Image.new("RGBA", (24,24), self.bgcolor) + + button = self.transform_image_side(t) + + if data == 1: # facing SOUTH + # buttons can't be placed in transparent blocks, so this + # direction can't be seen + return None + + elif data == 2: # facing NORTH + # paste it twice with different brightness to make a 3D effect + alpha_over(img, button, (12,-1), button) + + alpha = button.split()[3] + button = ImageEnhance.Brightness(button).enhance(0.9) + button.putalpha(alpha) + + alpha_over(img, button, (11,0), button) + + elif data == 3: # facing WEST + # paste it twice with different brightness to make a 3D effect + button = button.transpose(Image.FLIP_LEFT_RIGHT) + alpha_over(img, button, (0,-1), button) + + alpha = button.split()[3] + button = ImageEnhance.Brightness(button).enhance(0.9) + button.putalpha(alpha) + + alpha_over(img, button, (1,0), button) + + elif data == 4: # facing EAST + # buttons can't be placed in transparent blocks, so this + # direction can't be seen + return None + + return img + +################################################################################ +# These don't work !!! ######################################################### +################################################################################ + +@material(blockid=, data=range(1), solid=True) +def commandTable(self, blockid, data): + return self.build_block(self.load_image_texture("assets/lotr/textures/blocks/commandTable_top.png"), self.load_image_texture("assets/lotr/textures/blocks/commandTable_side.png")) + +##### Caveat: clovers are not supported ##### +#@material(blockid=, data=range(2), transparent=True) +#def clover(self, blockid, data): +# if data == 0: # Clover +# tex = self.load_image_texture("assets/lotr/textures/blocks/clover_petal.png") +# elif data == 1: # Four-leaves Clover +# tex = self.load_image_texture("assets/lotr/textures/blocks/clover_stem.png") +# return self.build_sprite(tex) + +##### Caveat: tallGrass are not supported ##### +#@material(blockid=, data=range(4), transparent=True) +#def tallGrass(self, blockid, data): +# if data == 0: # Short Grass +# tex = self.load_image_texture("assets/lotr/textures/blocks/tallGrass_short.png") +# elif data == 1: # Flowery Grass +# tex = self.load_image_texture("assets/lotr/textures/blocks/tallGrass_flower.png") +# elif data == 2: # Wheatgrass +# tex = self.load_image_texture("assets/lotr/textures/blocks/tallGrass_wheat.png") +# elif data == 3: # Thistle +# tex = self.load_image_texture("assets/lotr/textures/blocks/tallGrass_thistle.png") +# return self.build_sprite(tex) + +# } LotrSupportInOverviewer diff --git a/Makefile b/Makefile index ffaca38..b8e1d5c 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ VERSION=1.10 PY_VERSION=11 -LOTR_VERSION=30.3 +LOTR_VERSION=31 OVERVIEWER_TEXTURES_PY=/usr/local/lib/python2.7/site-packages/overviewer_core/textures.py diff --git a/README.md b/README.md index 922ac86..efb1730 100644 --- a/README.md +++ b/README.md @@ -5,35 +5,37 @@ A tool that can generate a new Minecraft Overviewer textures jar including the L Installation ============ -Verify you have installed Overviewer and that it's location is the one indicated in the OVERVIEWER_TEXTURES_PY Makefile's variable. +Verify you have installed Overviewer(Either via a package manager, or built from source) and that the location of textures.py for your installation is the one indicated in the OVERVIEWER_TEXTURES_PY Makefile variable (edit the makefile with a text editor to make sure this is the case. Change it if it isn't). The reccomended commit from the overviewer is [link](https://github.com/overviewer/Minecraft-Overviewer/commits/master?after=Y3Vyc29yOirdlhMs9u7Usxw05y%2FK18E%2Flv%2FWKzEzOQ%3D%3D "c6830a3"), which can be downloaded directly from [link](https://github.com/overviewer/Minecraft-Overviewer/archive/50b8da58207af5e65a8dc00cb5cf56f9aeab8ab9.zip "here"). You'll also need : -- the zip/unzip package +- a zip/unzip package (tar, jar, and/or zip) -- my ShowLocalMinecraftIds.sh utility (see http://minecraft.tournier.org/) +- my ShowLocalMinecraftIds.sh utility (it is included in this repository, but it you don't have it for whatever reason, see http://minecraft.tournier.org/) Usage ===== -Type "make", in order to fetch and build the necessary files. -You'll have to provide the path to a specific Lord of the Rings Mod instance when requested. +Navigate to the directory you downloaded this repository into and run "make", in order to fetch and build the necessary files. +You'll have to provide the path to a specific Lord of the Rings Mod world (more specifically, the level.dat file) when requested. -If everything goes well, type "make install", which will modify or upgrade your existing Overviewer installation. +If make finishes without errors, type "make install", which will modify or upgrade your existing Overviewer installation. Just to be on the safe side, a backup copy of your original Overviewer files will be done. +If you need to remove the stuff you made and re-make the files, run ```make clean``` or ```make distclean```. + After that, copy the overviewer_textures-1.7.10-with-lotr.jar at the place you put the standard Overviewer textures file and reference the new one in your existing configuration. For example, here's a simplified Overviewer configuration file doing that: texturepath = "overviewer_textures-1.7.10-with-lotr.jar" - + worlds["world"] = "world/DIM100" - + renders["normalrender"] = { "world": "world", "title": "world map", } - + outputdir = "public_html/map" @@ -66,6 +68,7 @@ Blocks without textures are missing (beacons, stalactite, flower pots, elven & m Versions and changelog ====================== + 1.11 2017-02-13 Got things started for LOTR B31 1.10 2016-11-28 Started support for LOTR Mod B30.3 1.09 2015-10-31 Added support for LOTR Utumno bricks (used for The Pits) 1.08 2015-10-24 Added support for LOTR mallornLadder, torches, orcTorches, beds, buttons, pressure plates, @@ -107,4 +110,6 @@ Author ====== Hubert Tournier +Updates and help with docs by MuggMuggins, also known as SamwiseFilmore + November, 28 2016