From b45a59dbcc022e529ec92d433e6183cb08225d6a Mon Sep 17 00:00:00 2001 From: MggMuggins Date: Mon, 13 Feb 2017 17:00:09 -0600 Subject: [PATCH 01/12] Added B31 ID and texture lists, as well as a level.dat file --- 31/level.dat | Bin 0 -> 21877 bytes 31/lotr31.blocks.ids.txt | 501 ++++++++++++ 31/lotr31.blocks.textures.txt | 1355 +++++++++++++++++++++++++++++++++ 31/lotr31.items.ids.txt | 1224 +++++++++++++++++++++++++++++ 31/lotr31.items.textures.txt | 863 +++++++++++++++++++++ 5 files changed, 3943 insertions(+) create mode 100644 31/level.dat create mode 100644 31/lotr31.blocks.ids.txt create mode 100644 31/lotr31.blocks.textures.txt create mode 100644 31/lotr31.items.ids.txt create mode 100644 31/lotr31.items.textures.txt diff --git a/31/level.dat b/31/level.dat new file mode 100644 index 0000000000000000000000000000000000000000..99d5c6d8b11ac1594ed7d037f7ff52a8d5f7c55d GIT binary patch literal 21877 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 Date: Mon, 13 Feb 2017 17:33:54 -0600 Subject: [PATCH 02/12] Fixed formatting in id lists, added gitignore --- .gitignore | 1 + 31/lotr31.blocks.id.txt | 501 ++++++++++++++++ 31/lotr31.blocks.ids.txt | 501 ---------------- 31/lotr31.items.id.txt | 1224 ++++++++++++++++++++++++++++++++++++++ 31/lotr31.items.ids.txt | 1224 -------------------------------------- 5 files changed, 1726 insertions(+), 1725 deletions(-) create mode 100644 .gitignore create mode 100644 31/lotr31.blocks.id.txt delete mode 100644 31/lotr31.blocks.ids.txt create mode 100644 31/lotr31.items.id.txt delete mode 100644 31/lotr31.items.ids.txt diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..18c5131 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +diffIds.txt 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.ids.txt b/31/lotr31.blocks.ids.txt deleted file mode 100644 index c9f9a60..0000000 --- a/31/lotr31.blocks.ids.txt +++ /dev/null @@ -1,501 +0,0 @@ -165;01;lotr:tile.rock -166;01;lotr:tile.oreCopper -167;01;lotr:tile.oreTin -168;01;lotr:tile.oreSilver -169;01;lotr:tile.oreMithril -176;01;lotr:tile.beacon -177;01;lotr:tile.simbelmyne -178;01;lotr:tile.wood -179;01;lotr:tile.leaves -180;01;lotr:tile.planks -181;01;lotr:tile.sapling -182;01;lotr:tile.woodSlabSingle -183;01;lotr:tile.woodSlabDouble -184;01;lotr:tile.stairsPine -185;01;lotr:tile.shireHeather -186;01;lotr:tile.brick -187;01;lotr:tile.appleCrumble -188;01;lotr:tile.hobbitOven -189;01;lotr:tile.oreStorage -190;01;lotr:tile.oreNaurite -191;01;lotr:tile.oreMorgulIron -192;01;lotr:tile.morgulCraftingTable -193;01;lotr:tile.chandelier -194;01;lotr:tile.pipeweedPlant -195;01;lotr:tile.pipeweed -196;01;lotr:tile.slabSingle -197;01;lotr:tile.slabDouble -198;01;lotr:tile.stairsMordorBrick -199;01;lotr:tile.stairsGondorBrick -200;01;lotr:tile.wallStone -201;01;lotr:tile.barrel -202;01;lotr:tile.lettuce -203;01;lotr:tile.orcBomb -204;01;lotr:tile.orcTorch -205;01;lotr:tile.elanor -206;01;lotr:tile.niphredil -207;01;lotr:tile.stairsMallorn -208;01;lotr:tile.elvenCraftingTable -209;01;lotr:tile.mobSpawner -210;01;lotr:tile.mallornLadder -211;01;lotr:tile.plate -212;01;lotr:tile.orcSteelBars -213;01;lotr:tile.stairsGondorBrickMossy -214;01;lotr:tile.stairsGondorBrickCracked -215;01;lotr:tile.athelas -216;01;lotr:tile.stalactite -217;01;lotr:tile.stairsRohanBrick -218;01;lotr:tile.oreQuendite -219;01;lotr:tile.mallornTorch -220;01;lotr:tile.spawnerChest -221;01;lotr:tile.quenditeGrass -222;01;lotr:tile.pressurePlateMordorRock -223;01;lotr:tile.pressurePlateGondorRock -224;01;lotr:tile.buttonMordorRock -225;01;lotr:tile.buttonGondorRock -226;01;lotr:tile.elvenPortal -227;01;lotr:tile.flowerPot -228;01;lotr:tile.stairsDwarvenBrick -229;01;lotr:tile.elvenBed -230;01;lotr:tile.pillar -231;01;lotr:tile.oreGlowstone -232;01;lotr:tile.fruitWood -233;01;lotr:tile.fruitLeaves -234;01;lotr:tile.fruitSapling -235;01;lotr:tile.stairsApple -236;01;lotr:tile.stairsPear -237;01;lotr:tile.stairsCherry -238;01;lotr:tile.dwarvenCraftingTable -239;01;lotr:tile.bluebell -240;01;lotr:tile.dwarvenForge -241;01;lotr:tile.hearth -242;01;lotr:tile.morgulShroom -243;01;lotr:tile.urukCraftingTable -244;01;lotr:tile.cherryPie -245;01;lotr:tile.clover -246;01;lotr:tile.slabSingle2 -247;01;lotr:tile.slabDouble2 -248;01;lotr:tile.stairsMirkOak -249;01;lotr:tile.webUngoliant -250;01;lotr:tile.woodElvenCraftingTable -251;01;lotr:tile.woodElvenBed -252;01;lotr:tile.gondorianCraftingTable -253;01;lotr:tile.woodElvenTorch -254;01;lotr:tile.marshLights -255;01;lotr:tile.rohirricCraftingTable -409;01;lotr:tile.pressurePlateRohanRock -410;01;lotr:tile.remains -411;01;lotr:tile.deadMarshPlant -412;01;lotr:tile.oreGulduril -413;01;lotr:tile.guldurilBrick -414;01;lotr:tile.dwarvenDoor -415;01;lotr:tile.stairsCharred -416;01;lotr:tile.dwarvenBed -423;01;lotr:tile.morgulPortal -424;01;lotr:tile.armorStand -425;01;lotr:tile.buttonRohanRock -426;01;lotr:tile.asphodel -427;01;lotr:tile.wood2 -428;01;lotr:tile.leaves2 -429;01;lotr:tile.sapling2 -430;01;lotr:tile.stairsLebethron -431;01;lotr:tile.woodSlabSingle2 -432;01;lotr:tile.woodSlabDouble2 -433;01;lotr:tile.dwarfHerb -434;01;lotr:tile.mug -435;01;lotr:tile.dunlendingCraftingTable -436;01;lotr:tile.stairsBeech -437;01;lotr:tile.entJar -438;01;lotr:tile.mordorThorn -439;01;lotr:tile.mordorMoss -440;01;lotr:tile.stairsMordorBrickCracked -441;01;lotr:tile.orcForge -442;01;lotr:tile.trollTotem -443;01;lotr:tile.orcBed -444;01;lotr:tile.stairsElvenBrick -445;01;lotr:tile.stairsElvenBrickMossy -446;01;lotr:tile.stairsElvenBrickCracked -447;01;lotr:tile.stairsHolly -448;01;lotr:tile.pressurePlateBlueRock -449;01;lotr:tile.buttonBlueRock -450;01;lotr:tile.slabSingle3 -451;01;lotr:tile.slabDouble3 -452;01;lotr:tile.stairsBlueRockBrick -453;01;lotr:tile.fence -454;01;lotr:tile.doubleFlower -455;01;lotr:tile.oreSulfur -456;01;lotr:tile.oreSaltpeter -457;01;lotr:tile.quagmire -458;01;lotr:tile.angmarCraftingTable -459;01;lotr:tile.brick2 -460;01;lotr:tile.wallStone2 -461;01;lotr:tile.stairsAngmarBrick -462;01;lotr:tile.stairsAngmarBrickCracked -463;01;lotr:tile.stairsMango -464;01;lotr:tile.stairsBanana -465;01;lotr:tile.banana -466;01;lotr:tile.bananaCake -467;01;lotr:tile.lionBed -468;01;lotr:tile.wood3 -469;01;lotr:tile.leaves3 -470;01;lotr:tile.sapling3 -471;01;lotr:tile.stairsMaple -472;01;lotr:tile.stairsLarch -473;01;lotr:tile.nearHaradCraftingTable -474;01;lotr:tile.highElvenCraftingTable -475;01;lotr:tile.highElvenTorch -476;01;lotr:tile.highElvenBed -477;01;lotr:tile.pressurePlateRedRock -478;01;lotr:tile.buttonRedRock -479;01;lotr:tile.stairsRedRockBrick -480;01;lotr:tile.slabSingle4 -481;01;lotr:tile.slabDouble4 -482;01;lotr:tile.stairsNearHaradBrick -483;01;lotr:tile.stairsDatePalm -484;01;lotr:tile.date -485;01;lotr:tile.blueDwarvenCraftingTable -486;01;lotr:tile.goran -487;01;lotr:tile.thatch -488;01;lotr:tile.slabSingleThatch -489;01;lotr:tile.slabDoubleThatch -490;01;lotr:tile.stairsThatch -491;01;lotr:tile.fangornPlant -492;01;lotr:tile.fangornRiverweed -493;01;lotr:tile.morgulTorch -494;01;lotr:tile.rangerCraftingTable -495;01;lotr:tile.stairsArnorBrick -496;01;lotr:tile.stairsArnorBrickMossy -497;01;lotr:tile.stairsArnorBrickCracked -498;01;lotr:tile.stairsUrukBrick -499;01;lotr:tile.strawBed -500;01;lotr:tile.stairsDolGuldurBrick -501;01;lotr:tile.stairsDolGuldurBrickCracked -502;01;lotr:tile.dolGuldurCraftingTable -503;01;lotr:tile.fallenLeaves -504;01;lotr:tile.fallenLeavesLOTR -505;01;lotr:tile.gundabadCraftingTable -506;01;lotr:tile.thatchFloor -507;01;lotr:tile.dalishPastry -508;01;lotr:tile.aridGrass -509;01;lotr:tile.termiteMound -510;01;lotr:tile.utumnoBrick -511;01;lotr:tile.utumnoPortal -512;01;lotr:tile.utumnoPillar -513;01;lotr:tile.slabSingle5 -514;01;lotr:tile.slabDouble5 -515;01;lotr:tile.stairsMangrove -516;01;lotr:tile.tallGrass -517;01;lotr:tile.haradFlower -518;01;lotr:tile.flaxPlant -519;01;lotr:tile.flax -520;01;lotr:tile.berryBush -521;01;lotr:tile.planks2 -522;01;lotr:tile.fence2 -523;01;lotr:tile.woodSlabSingle3 -524;01;lotr:tile.woodSlabDouble3 -525;01;lotr:tile.wood4 -526;01;lotr:tile.leaves4 -527;01;lotr:tile.sapling4 -528;01;lotr:tile.stairsChestnut -529;01;lotr:tile.stairsBaobab -530;01;lotr:tile.fallenLeavesLOTR2 -531;01;lotr:tile.stairsCedar -532;01;lotr:tile.rottenLog -533;01;lotr:tile.oreStorage2 -534;01;lotr:tile.mordorGrass -535;01;lotr:tile.mordorDirt -536;01;lotr:tile.mordorGravel -537;01;lotr:tile.utumnoReturnPortal -538;01;lotr:tile.utumnoReturnLight -539;01;lotr:tile.utumnoReturnPortalBase -540;01;lotr:tile.commandTable -541;01;lotr:tile.halfTrollCraftingTable -542;01;lotr:tile.butterflyJar -543;01;lotr:tile.berryPie -544;01;lotr:tile.stairsBlackGondorBrick -545;01;lotr:tile.brick3 -546;01;lotr:tile.wallStone3 -547;01;lotr:tile.slabSingle6 -548;01;lotr:tile.slabDouble6 -549;01;lotr:tile.stairsHighElvenBrick -550;01;lotr:tile.stairsHighElvenBrickMossy -551;01;lotr:tile.stairsHighElvenBrickCracked -552;01;lotr:tile.stairsWoodElvenBrick -553;01;lotr:tile.stairsWoodElvenBrickMossy -554;01;lotr:tile.stairsWoodElvenBrickCracked -555;01;lotr:tile.elvenForge -556;01;lotr:tile.dolAmrothCraftingTable -557;01;lotr:tile.stairsDolAmrothBrick -558;01;lotr:tile.stairsFir -559;01;lotr:tile.wood5 -560;01;lotr:tile.leaves5 -561;01;lotr:tile.sapling5 -562;01;lotr:tile.stairsPinePine -563;01;lotr:tile.moredainCraftingTable -564;01;lotr:tile.slabSingle7 -565;01;lotr:tile.slabDouble7 -566;01;lotr:tile.stairsMoredainBrick -567;01;lotr:tile.stairsNearHaradBrickCracked -568;01;lotr:tile.unsmeltery -569;01;lotr:tile.bronzeBars -570;01;lotr:tile.goldBars -571;01;lotr:tile.silverBars -572;01;lotr:tile.mithrilBars -573;01;lotr:tile.urukBars -574;01;lotr:tile.highElfBars -575;01;lotr:tile.galadhrimBars -576;01;lotr:tile.woodElfBars -577;01;lotr:tile.dwarfBars -578;01;lotr:tile.blueDwarfBars -579;01;lotr:tile.highElfWoodBars -580;01;lotr:tile.galadhrimWoodBars -581;01;lotr:tile.woodElfWoodBars -582;01;lotr:tile.corruptMallorn -583;01;lotr:tile.planksRotten -584;01;lotr:tile.stairsRotten -585;01;lotr:tile.rottenSlabSingle -586;01;lotr:tile.rottenSlabDouble -587;01;lotr:tile.fenceRotten -588;01;lotr:tile.scorchedStone -589;01;lotr:tile.scorchedSlabSingle -590;01;lotr:tile.scorchedSlabDouble -591;01;lotr:tile.stairsScorchedStone -592;01;lotr:tile.scorchedWall -593;01;lotr:tile.stairsLemon -594;01;lotr:tile.lemonCake -595;01;lotr:tile.stairsOrange -596;01;lotr:tile.alloyForge -597;01;lotr:tile.stairsLime -598;01;lotr:tile.tauredainCraftingTable -599;01;lotr:tile.brick4 -600;01;lotr:tile.wallStone4 -601;01;lotr:tile.slabSingle8 -602;01;lotr:tile.slabDouble8 -603;01;lotr:tile.stairsTauredainBrick -604;01;lotr:tile.stairsTauredainBrickMossy -605;01;lotr:tile.stairsTauredainBrickCracked -606;01;lotr:tile.stairsTauredainBrickGold -607;01;lotr:tile.stairsTauredainBrickObsidian -608;01;lotr:tile.obsidianGravel -609;01;lotr:tile.tauredainDartTrap -610;01;lotr:tile.wood6 -611;01;lotr:tile.leaves6 -612;01;lotr:tile.sapling6 -613;01;lotr:tile.woodSlabSingle4 -614;01;lotr:tile.woodSlabDouble4 -615;01;lotr:tile.stairsMahogany -616;01;lotr:tile.mud -617;01;lotr:tile.mudGrass -618;01;lotr:tile.chestStone -619;01;lotr:tile.spawnerChestStone -620;01;lotr:tile.mudFarmland -621;01;lotr:tile.stairsNearHaradBrickRed -622;01;lotr:tile.stairsNearHaradBrickRedCracked -623;01;lotr:tile.redSandstone -624;01;lotr:tile.stairsRedSandstone -625;01;lotr:tile.stairsDwarvenBrickCracked -626;01;lotr:tile.pillar2 -627;01;lotr:tile.hithlainLadder -628;01;lotr:tile.reeds -629;01;lotr:tile.stairsReed -630;01;lotr:tile.tauredainDoubleTorch -631;01;lotr:tile.woodBeamV1 -632;01;lotr:tile.reedBars -633;01;lotr:tile.woodBeamV2 -634;01;lotr:tile.woodBeam1 -635;01;lotr:tile.tauredainDartTrapGold -636;01;lotr:tile.weaponRack -637;01;lotr:tile.cornStalk -638;01;lotr:tile.wasteBlock -639;01;lotr:tile.stairsDwarvenBrickObsidian -640;01;lotr:tile.dirtPath -641;01;lotr:tile.stairsWillow -642;01;lotr:tile.willowVines -643;01;lotr:tile.woodBeam2 -644;01;lotr:tile.woodBeamFruit -645;01;lotr:tile.woodBeam3 -646;01;lotr:tile.woodBeam4 -647;01;lotr:tile.woodBeam5 -648;01;lotr:tile.woodBeam6 -649;01;lotr:tile.woodBeamRotten -650;01;lotr:tile.gateWooden -651;01;lotr:tile.gateIronBars -652;01;lotr:tile.gateBronzeBars -653;01;lotr:tile.gateWoodenCross -654;01;lotr:tile.gateOrc -655;01;lotr:tile.stairsChalkBrick -656;01;lotr:tile.slabSingle9 -657;01;lotr:tile.slabDouble9 -658;01;lotr:tile.gateElven -659;01;lotr:tile.gateDwarven -660;01;lotr:tile.gateGondor -661;01;lotr:tile.pressurePlateChalk -662;01;lotr:tile.buttonChalk -663;01;lotr:tile.wallStoneV -664;01;lotr:tile.stairsStoneBrickMossy -665;01;lotr:tile.stairsStoneBrickCracked -666;01;lotr:tile.slabSingleV -667;01;lotr:tile.slabDoubleV -668;01;lotr:tile.stairsStone -669;01;lotr:tile.stairsMordorRock -670;01;lotr:tile.stairsGondorRock -671;01;lotr:tile.stairsRohanRock -672;01;lotr:tile.stairsBlueRock -673;01;lotr:tile.stairsRedRock -674;01;lotr:tile.stairsChalk -675;01;lotr:tile.gateHighElven -676;01;lotr:tile.gateWoodElven -677;01;lotr:tile.gateNearHarad -678;01;lotr:tile.clayTile -679;01;lotr:tile.clayTileDyed -680;01;lotr:tile.slabClayTileSingle -681;01;lotr:tile.slabClayTileDouble -682;01;lotr:tile.slabClayTileDyedSingle -683;01;lotr:tile.slabClayTileDyedDouble -684;01;lotr:tile.slabClayTileDyedSingle2 -685;01;lotr:tile.slabClayTileDyedDouble2 -686;01;lotr:tile.stairsClayTile -687;01;lotr:tile.stairsClayTileDyedWhite -688;01;lotr:tile.stairsClayTileDyedOrange -689;01;lotr:tile.stairsClayTileDyedMagenta -690;01;lotr:tile.stairsClayTileDyedLightBlue -691;01;lotr:tile.stairsClayTileDyedYellow -692;01;lotr:tile.stairsClayTileDyedLime -693;01;lotr:tile.stairsClayTileDyedPink -694;01;lotr:tile.stairsClayTileDyedGray -695;01;lotr:tile.stairsClayTileDyedLightGray -696;01;lotr:tile.stairsClayTileDyedCyan -697;01;lotr:tile.stairsClayTileDyedPurple -698;01;lotr:tile.stairsClayTileDyedBlue -699;01;lotr:tile.stairsClayTileDyedBrown -700;01;lotr:tile.stairsClayTileDyedGreen -701;01;lotr:tile.stairsClayTileDyedRed -702;01;lotr:tile.stairsClayTileDyedBlack -703;01;lotr:tile.wargFurBed -704;01;lotr:tile.slabUtumnoSingle -705;01;lotr:tile.slabUtumnoDouble -706;01;lotr:tile.stairsUtumnoBrickFire -707;01;lotr:tile.stairsUtumnoBrickIce -708;01;lotr:tile.stairsUtumnoBrickObsidian -709;01;lotr:tile.wallUtumno -710;01;lotr:tile.kebabStand -711;01;lotr:tile.kebabStandSand -712;01;lotr:tile.gateTauredain -713;01;lotr:tile.gateDolAmroth -714;01;lotr:tile.gateUruk -715;01;lotr:tile.gateSilver -716;01;lotr:tile.gateGold -717;01;lotr:tile.gateMithril -718;01;lotr:tile.brick5 -719;01;lotr:tile.stairsMudBrick -720;01;lotr:tile.leek -721;01;lotr:tile.turnip -722;01;lotr:tile.stairsDaleBrick -723;01;lotr:tile.stairsDorwinionBrick -724;01;lotr:tile.daleCraftingTable -725;01;lotr:tile.dorwinionCraftingTable -726;01;lotr:tile.stairsCypress -727;01;lotr:tile.stairsOlive -728;01;lotr:tile.slabSingle10 -729;01;lotr:tile.slabDouble10 -730;01;lotr:tile.hobbitCraftingTable -731;01;lotr:tile.gateHobbitGreen -732;01;lotr:tile.gateHobbitBlue -733;01;lotr:tile.gateHobbitRed -734;01;lotr:tile.gateHobbitYellow -735;01;lotr:tile.driedReeds -736;01;lotr:tile.redBrick -737;01;lotr:tile.stairsBrickMossy -738;01;lotr:tile.stairsBrickCracked -739;01;lotr:tile.grapevine -740;01;lotr:tile.grapevineRed -741;01;lotr:tile.grapevineWhite -742;01;lotr:tile.stairsDorwinionBrickMossy -743;01;lotr:tile.stairsDorwinionBrickCracked -744;01;lotr:tile.stairsDorwinionBrickFlowers -745;01;lotr:tile.wood7 -746;01;lotr:tile.leaves7 -747;01;lotr:tile.sapling7 -748;01;lotr:tile.woodBeam7 -749;01;lotr:tile.stairsAspen -750;01;lotr:tile.mirkVines -751;01;lotr:tile.stairsGreenOak -752;01;lotr:tile.stairsLairelosse -753;01;lotr:tile.stairsAlmond -754;01;lotr:tile.slabSingleDirt -755;01;lotr:tile.slabDoubleDirt -756;01;lotr:tile.slabSingleSand -757;01;lotr:tile.slabDoubleSand -758;01;lotr:tile.slabSingleGravel -759;01;lotr:tile.slabDoubleGravel -760;01;lotr:tile.morgulFlower -761;01;lotr:tile.blackroot -762;01;lotr:tile.wood8 -763;01;lotr:tile.leaves8 -764;01;lotr:tile.sapling8 -765;01;lotr:tile.planks3 -766;01;lotr:tile.fence3 -767;01;lotr:tile.woodSlabSingle5 -768;01;lotr:tile.woodSlabDouble5 -769;01;lotr:tile.woodBeam8 -770;01;lotr:tile.stairsPlum -771;01;lotr:tile.fallenLeavesLOTR3 -772;01;lotr:tile.stairsGondorBrickRustic -773;01;lotr:tile.stairsGondorBrickRusticMossy -774;01;lotr:tile.stairsGondorBrickRusticCracked -775;01;lotr:tile.slabSingle11 -776;01;lotr:tile.slabDouble11 -777;01;lotr:tile.whiteSand -778;01;lotr:tile.whiteSandstone -779;01;lotr:tile.stairsWhiteSandstone -780;01;lotr:tile.treasureCopper -781;01;lotr:tile.treasureSilver -782;01;lotr:tile.treasureGold -783;01;lotr:tile.chestLebethron -784;01;lotr:tile.chestBasket -785;01;lotr:tile.marigold -786;01;lotr:tile.rhunFlower -787;01;lotr:tile.chestMallorn -788;01;lotr:tile.stairsCobblestoneMossy -789;01;lotr:tile.marzipanBlock -790;01;lotr:tile.mallornTorchBlue -791;01;lotr:tile.mallornTorchGold -792;01;lotr:tile.mallornTorchGreen -793;01;lotr:tile.wallClayTile -794;01;lotr:tile.wallClayTileDyed -795;01;lotr:tile.ceramicMug -796;01;lotr:tile.gobletGold -797;01;lotr:tile.gobletSilver -798;01;lotr:tile.gobletCopper -799;01;lotr:tile.gobletWood -800;01;lotr:tile.skullCup -801;01;lotr:tile.wineGlass -802;01;lotr:tile.glassBottle -803;01;lotr:tile.aleHorn -804;01;lotr:tile.aleHornGold -805;01;lotr:tile.woodBeamS -806;01;lotr:tile.birdCage -807;01;lotr:tile.birdCageWood -808;01;lotr:tile.gateRohan -809;01;lotr:tile.signCarved -810;01;lotr:tile.signCarvedIthildin -811;01;lotr:tile.dwarvenDoorIthildin -812;01;lotr:tile.smoothStoneV -813;01;lotr:tile.smoothStone -814;01;lotr:tile.slabSingle12 -815;01;lotr:tile.slabDouble12 -816;01;lotr:tile.stairsRhunBrick -817;01;lotr:tile.stairsRhunBrickMossy -818;01;lotr:tile.stairsRhunBrickCracked -819;01;lotr:tile.stairsRhunBrickFlowers -820;01;lotr:tile.brick6 -821;01;lotr:tile.rhunCraftingTable -822;01;lotr:tile.stairsRhunBrickRed -823;01;lotr:tile.stairsRedwood -824;01;lotr:tile.rhunFire -825;01;lotr:tile.rhunFireJar -826;01;lotr:tile.daub -827;01;lotr:tile.gateRhun -828;01;lotr:tile.yam -829;01;lotr:tile.kebabBlock -830;01;lotr:tile.stairsPomegranate 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.ids.txt b/31/lotr31.items.ids.txt deleted file mode 100644 index 2443c7d..0000000 --- a/31/lotr31.items.ids.txt +++ /dev/null @@ -1,1224 +0,0 @@ - 165;02;lotr:tile.rock -166;02;lotr:tile.oreCopper -167;02;lotr:tile.oreTin -168;02;lotr:tile.oreSilver -169;02;lotr:tile.oreMithril -176;02;lotr:tile.beacon -177;02;lotr:tile.simbelmyne -178;02;lotr:tile.wood -179;02;lotr:tile.leaves -180;02;lotr:tile.planks -181;02;lotr:tile.sapling -182;02;lotr:tile.woodSlabSingle -183;02;lotr:tile.woodSlabDouble -184;02;lotr:tile.stairsPine -185;02;lotr:tile.shireHeather -186;02;lotr:tile.brick -187;02;lotr:tile.appleCrumble -188;02;lotr:tile.hobbitOven -189;02;lotr:tile.oreStorage -190;02;lotr:tile.oreNaurite -191;02;lotr:tile.oreMorgulIron -192;02;lotr:tile.morgulCraftingTable -193;02;lotr:tile.chandelier -194;02;lotr:tile.pipeweedPlant -195;02;lotr:tile.pipeweed -196;02;lotr:tile.slabSingle -197;02;lotr:tile.slabDouble -198;02;lotr:tile.stairsMordorBrick -199;02;lotr:tile.stairsGondorBrick -200;02;lotr:tile.wallStone -201;02;lotr:tile.barrel -202;02;lotr:tile.lettuce -203;02;lotr:tile.orcBomb -204;02;lotr:tile.orcTorch -205;02;lotr:tile.elanor -206;02;lotr:tile.niphredil -207;02;lotr:tile.stairsMallorn -208;02;lotr:tile.elvenCraftingTable -209;02;lotr:tile.mobSpawner -210;02;lotr:tile.mallornLadder -211;02;lotr:tile.plate -212;02;lotr:tile.orcSteelBars -213;02;lotr:tile.stairsGondorBrickMossy -214;02;lotr:tile.stairsGondorBrickCracked -215;02;lotr:tile.athelas -216;02;lotr:tile.stalactite -217;02;lotr:tile.stairsRohanBrick -218;02;lotr:tile.oreQuendite -219;02;lotr:tile.mallornTorch -220;02;lotr:tile.spawnerChest -221;02;lotr:tile.quenditeGrass -222;02;lotr:tile.pressurePlateMordorRock -223;02;lotr:tile.pressurePlateGondorRock -224;02;lotr:tile.buttonMordorRock -225;02;lotr:tile.buttonGondorRock -226;02;lotr:tile.elvenPortal -227;02;lotr:tile.flowerPot -228;02;lotr:tile.stairsDwarvenBrick -229;02;lotr:tile.elvenBed -230;02;lotr:tile.pillar -231;02;lotr:tile.oreGlowstone -232;02;lotr:tile.fruitWood -233;02;lotr:tile.fruitLeaves -234;02;lotr:tile.fruitSapling -235;02;lotr:tile.stairsApple -236;02;lotr:tile.stairsPear -237;02;lotr:tile.stairsCherry -238;02;lotr:tile.dwarvenCraftingTable -239;02;lotr:tile.bluebell -240;02;lotr:tile.dwarvenForge -241;02;lotr:tile.hearth -242;02;lotr:tile.morgulShroom -243;02;lotr:tile.urukCraftingTable -244;02;lotr:tile.cherryPie -245;02;lotr:tile.clover -246;02;lotr:tile.slabSingle2 -247;02;lotr:tile.slabDouble2 -248;02;lotr:tile.stairsMirkOak -249;02;lotr:tile.webUngoliant -250;02;lotr:tile.woodElvenCraftingTable -251;02;lotr:tile.woodElvenBed -252;02;lotr:tile.gondorianCraftingTable -253;02;lotr:tile.woodElvenTorch -254;02;lotr:tile.marshLights -255;02;lotr:tile.rohirricCraftingTable -409;02;lotr:tile.pressurePlateRohanRock -410;02;lotr:tile.remains -411;02;lotr:tile.deadMarshPlant -412;02;lotr:tile.oreGulduril -413;02;lotr:tile.guldurilBrick -414;02;lotr:tile.dwarvenDoor -415;02;lotr:tile.stairsCharred -416;02;lotr:tile.dwarvenBed -423;02;lotr:tile.morgulPortal -424;02;lotr:tile.armorStand -425;02;lotr:tile.buttonRohanRock -426;02;lotr:tile.asphodel -427;02;lotr:tile.wood2 -428;02;lotr:tile.leaves2 -429;02;lotr:tile.sapling2 -430;02;lotr:tile.stairsLebethron -431;02;lotr:tile.woodSlabSingle2 -432;02;lotr:tile.woodSlabDouble2 -433;02;lotr:tile.dwarfHerb -434;02;lotr:tile.mug -435;02;lotr:tile.dunlendingCraftingTable -436;02;lotr:tile.stairsBeech -437;02;lotr:tile.entJar -438;02;lotr:tile.mordorThorn -439;02;lotr:tile.mordorMoss -440;02;lotr:tile.stairsMordorBrickCracked -441;02;lotr:tile.orcForge -442;02;lotr:tile.trollTotem -443;02;lotr:tile.orcBed -444;02;lotr:tile.stairsElvenBrick -445;02;lotr:tile.stairsElvenBrickMossy -446;02;lotr:tile.stairsElvenBrickCracked -447;02;lotr:tile.stairsHolly -448;02;lotr:tile.pressurePlateBlueRock -449;02;lotr:tile.buttonBlueRock -450;02;lotr:tile.slabSingle3 -451;02;lotr:tile.slabDouble3 -452;02;lotr:tile.stairsBlueRockBrick -453;02;lotr:tile.fence -454;02;lotr:tile.doubleFlower -455;02;lotr:tile.oreSulfur -456;02;lotr:tile.oreSaltpeter -457;02;lotr:tile.quagmire -458;02;lotr:tile.angmarCraftingTable -459;02;lotr:tile.brick2 -460;02;lotr:tile.wallStone2 -461;02;lotr:tile.stairsAngmarBrick -462;02;lotr:tile.stairsAngmarBrickCracked -463;02;lotr:tile.stairsMango -464;02;lotr:tile.stairsBanana -465;02;lotr:tile.banana -466;02;lotr:tile.bananaCake -467;02;lotr:tile.lionBed -468;02;lotr:tile.wood3 -469;02;lotr:tile.leaves3 -470;02;lotr:tile.sapling3 -471;02;lotr:tile.stairsMaple -472;02;lotr:tile.stairsLarch -473;02;lotr:tile.nearHaradCraftingTable -474;02;lotr:tile.highElvenCraftingTable -475;02;lotr:tile.highElvenTorch -476;02;lotr:tile.highElvenBed -477;02;lotr:tile.pressurePlateRedRock -478;02;lotr:tile.buttonRedRock -479;02;lotr:tile.stairsRedRockBrick -480;02;lotr:tile.slabSingle4 -481;02;lotr:tile.slabDouble4 -482;02;lotr:tile.stairsNearHaradBrick -483;02;lotr:tile.stairsDatePalm -484;02;lotr:tile.date -485;02;lotr:tile.blueDwarvenCraftingTable -486;02;lotr:tile.goran -487;02;lotr:tile.thatch -488;02;lotr:tile.slabSingleThatch -489;02;lotr:tile.slabDoubleThatch -490;02;lotr:tile.stairsThatch -491;02;lotr:tile.fangornPlant -492;02;lotr:tile.fangornRiverweed -493;02;lotr:tile.morgulTorch -494;02;lotr:tile.rangerCraftingTable -495;02;lotr:tile.stairsArnorBrick -496;02;lotr:tile.stairsArnorBrickMossy -497;02;lotr:tile.stairsArnorBrickCracked -498;02;lotr:tile.stairsUrukBrick -499;02;lotr:tile.strawBed -500;02;lotr:tile.stairsDolGuldurBrick -501;02;lotr:tile.stairsDolGuldurBrickCracked -502;02;lotr:tile.dolGuldurCraftingTable -503;02;lotr:tile.fallenLeaves -504;02;lotr:tile.fallenLeavesLOTR -505;02;lotr:tile.gundabadCraftingTable -506;02;lotr:tile.thatchFloor -507;02;lotr:tile.dalishPastry -508;02;lotr:tile.aridGrass -509;02;lotr:tile.termiteMound -510;02;lotr:tile.utumnoBrick -511;02;lotr:tile.utumnoPortal -512;02;lotr:tile.utumnoPillar -513;02;lotr:tile.slabSingle5 -514;02;lotr:tile.slabDouble5 -515;02;lotr:tile.stairsMangrove -516;02;lotr:tile.tallGrass -517;02;lotr:tile.haradFlower -518;02;lotr:tile.flaxPlant -519;02;lotr:tile.flax -520;02;lotr:tile.berryBush -521;02;lotr:tile.planks2 -522;02;lotr:tile.fence2 -523;02;lotr:tile.woodSlabSingle3 -524;02;lotr:tile.woodSlabDouble3 -525;02;lotr:tile.wood4 -526;02;lotr:tile.leaves4 -527;02;lotr:tile.sapling4 -528;02;lotr:tile.stairsChestnut -529;02;lotr:tile.stairsBaobab -530;02;lotr:tile.fallenLeavesLOTR2 -531;02;lotr:tile.stairsCedar -532;02;lotr:tile.rottenLog -533;02;lotr:tile.oreStorage2 -534;02;lotr:tile.mordorGrass -535;02;lotr:tile.mordorDirt -536;02;lotr:tile.mordorGravel -537;02;lotr:tile.utumnoReturnPortal -538;02;lotr:tile.utumnoReturnLight -539;02;lotr:tile.utumnoReturnPortalBase -540;02;lotr:tile.commandTable -541;02;lotr:tile.halfTrollCraftingTable -542;02;lotr:tile.butterflyJar -543;02;lotr:tile.berryPie -544;02;lotr:tile.stairsBlackGondorBrick -545;02;lotr:tile.brick3 -546;02;lotr:tile.wallStone3 -547;02;lotr:tile.slabSingle6 -548;02;lotr:tile.slabDouble6 -549;02;lotr:tile.stairsHighElvenBrick -550;02;lotr:tile.stairsHighElvenBrickMossy -551;02;lotr:tile.stairsHighElvenBrickCracked -552;02;lotr:tile.stairsWoodElvenBrick -553;02;lotr:tile.stairsWoodElvenBrickMossy -554;02;lotr:tile.stairsWoodElvenBrickCracked -555;02;lotr:tile.elvenForge -556;02;lotr:tile.dolAmrothCraftingTable -557;02;lotr:tile.stairsDolAmrothBrick -558;02;lotr:tile.stairsFir -559;02;lotr:tile.wood5 -560;02;lotr:tile.leaves5 -561;02;lotr:tile.sapling5 -562;02;lotr:tile.stairsPinePine -563;02;lotr:tile.moredainCraftingTable -564;02;lotr:tile.slabSingle7 -565;02;lotr:tile.slabDouble7 -566;02;lotr:tile.stairsMoredainBrick -567;02;lotr:tile.stairsNearHaradBrickCracked -568;02;lotr:tile.unsmeltery -569;02;lotr:tile.bronzeBars -570;02;lotr:tile.goldBars -571;02;lotr:tile.silverBars -572;02;lotr:tile.mithrilBars -573;02;lotr:tile.urukBars -574;02;lotr:tile.highElfBars -575;02;lotr:tile.galadhrimBars -576;02;lotr:tile.woodElfBars -577;02;lotr:tile.dwarfBars -578;02;lotr:tile.blueDwarfBars -579;02;lotr:tile.highElfWoodBars -580;02;lotr:tile.galadhrimWoodBars -581;02;lotr:tile.woodElfWoodBars -582;02;lotr:tile.corruptMallorn -583;02;lotr:tile.planksRotten -584;02;lotr:tile.stairsRotten -585;02;lotr:tile.rottenSlabSingle -586;02;lotr:tile.rottenSlabDouble -587;02;lotr:tile.fenceRotten -588;02;lotr:tile.scorchedStone -589;02;lotr:tile.scorchedSlabSingle -590;02;lotr:tile.scorchedSlabDouble -591;02;lotr:tile.stairsScorchedStone -592;02;lotr:tile.scorchedWall -593;02;lotr:tile.stairsLemon -594;02;lotr:tile.lemonCake -595;02;lotr:tile.stairsOrange -596;02;lotr:tile.alloyForge -597;02;lotr:tile.stairsLime -598;02;lotr:tile.tauredainCraftingTable -599;02;lotr:tile.brick4 -600;02;lotr:tile.wallStone4 -601;02;lotr:tile.slabSingle8 -602;02;lotr:tile.slabDouble8 -603;02;lotr:tile.stairsTauredainBrick -604;02;lotr:tile.stairsTauredainBrickMossy -605;02;lotr:tile.stairsTauredainBrickCracked -606;02;lotr:tile.stairsTauredainBrickGold -607;02;lotr:tile.stairsTauredainBrickObsidian -608;02;lotr:tile.obsidianGravel -609;02;lotr:tile.tauredainDartTrap -610;02;lotr:tile.wood6 -611;02;lotr:tile.leaves6 -612;02;lotr:tile.sapling6 -613;02;lotr:tile.woodSlabSingle4 -614;02;lotr:tile.woodSlabDouble4 -615;02;lotr:tile.stairsMahogany -616;02;lotr:tile.mud -617;02;lotr:tile.mudGrass -618;02;lotr:tile.chestStone -619;02;lotr:tile.spawnerChestStone -620;02;lotr:tile.mudFarmland -621;02;lotr:tile.stairsNearHaradBrickRed -622;02;lotr:tile.stairsNearHaradBrickRedCracked -623;02;lotr:tile.redSandstone -624;02;lotr:tile.stairsRedSandstone -625;02;lotr:tile.stairsDwarvenBrickCracked -626;02;lotr:tile.pillar2 -627;02;lotr:tile.hithlainLadder -628;02;lotr:tile.reeds -629;02;lotr:tile.stairsReed -630;02;lotr:tile.tauredainDoubleTorch -631;02;lotr:tile.woodBeamV1 -632;02;lotr:tile.reedBars -633;02;lotr:tile.woodBeamV2 -634;02;lotr:tile.woodBeam1 -635;02;lotr:tile.tauredainDartTrapGold -636;02;lotr:tile.weaponRack -637;02;lotr:tile.cornStalk -638;02;lotr:tile.wasteBlock -639;02;lotr:tile.stairsDwarvenBrickObsidian -640;02;lotr:tile.dirtPath -641;02;lotr:tile.stairsWillow -642;02;lotr:tile.willowVines -643;02;lotr:tile.woodBeam2 -644;02;lotr:tile.woodBeamFruit -645;02;lotr:tile.woodBeam3 -646;02;lotr:tile.woodBeam4 -647;02;lotr:tile.woodBeam5 -648;02;lotr:tile.woodBeam6 -649;02;lotr:tile.woodBeamRotten -650;02;lotr:tile.gateWooden -651;02;lotr:tile.gateIronBars -652;02;lotr:tile.gateBronzeBars -653;02;lotr:tile.gateWoodenCross -654;02;lotr:tile.gateOrc -655;02;lotr:tile.stairsChalkBrick -656;02;lotr:tile.slabSingle9 -657;02;lotr:tile.slabDouble9 -658;02;lotr:tile.gateElven -659;02;lotr:tile.gateDwarven -660;02;lotr:tile.gateGondor -661;02;lotr:tile.pressurePlateChalk -662;02;lotr:tile.buttonChalk -663;02;lotr:tile.wallStoneV -664;02;lotr:tile.stairsStoneBrickMossy -665;02;lotr:tile.stairsStoneBrickCracked -666;02;lotr:tile.slabSingleV -667;02;lotr:tile.slabDoubleV -668;02;lotr:tile.stairsStone -669;02;lotr:tile.stairsMordorRock -670;02;lotr:tile.stairsGondorRock -671;02;lotr:tile.stairsRohanRock -672;02;lotr:tile.stairsBlueRock -673;02;lotr:tile.stairsRedRock -674;02;lotr:tile.stairsChalk -675;02;lotr:tile.gateHighElven -676;02;lotr:tile.gateWoodElven -677;02;lotr:tile.gateNearHarad -678;02;lotr:tile.clayTile -679;02;lotr:tile.clayTileDyed -680;02;lotr:tile.slabClayTileSingle -681;02;lotr:tile.slabClayTileDouble -682;02;lotr:tile.slabClayTileDyedSingle -683;02;lotr:tile.slabClayTileDyedDouble -684;02;lotr:tile.slabClayTileDyedSingle2 -685;02;lotr:tile.slabClayTileDyedDouble2 -686;02;lotr:tile.stairsClayTile -687;02;lotr:tile.stairsClayTileDyedWhite -688;02;lotr:tile.stairsClayTileDyedOrange -689;02;lotr:tile.stairsClayTileDyedMagenta -690;02;lotr:tile.stairsClayTileDyedLightBlue -691;02;lotr:tile.stairsClayTileDyedYellow -692;02;lotr:tile.stairsClayTileDyedLime -693;02;lotr:tile.stairsClayTileDyedPink -694;02;lotr:tile.stairsClayTileDyedGray -695;02;lotr:tile.stairsClayTileDyedLightGray -696;02;lotr:tile.stairsClayTileDyedCyan -697;02;lotr:tile.stairsClayTileDyedPurple -698;02;lotr:tile.stairsClayTileDyedBlue -699;02;lotr:tile.stairsClayTileDyedBrown -700;02;lotr:tile.stairsClayTileDyedGreen -701;02;lotr:tile.stairsClayTileDyedRed -702;02;lotr:tile.stairsClayTileDyedBlack -703;02;lotr:tile.wargFurBed -704;02;lotr:tile.slabUtumnoSingle -705;02;lotr:tile.slabUtumnoDouble -706;02;lotr:tile.stairsUtumnoBrickFire -707;02;lotr:tile.stairsUtumnoBrickIce -708;02;lotr:tile.stairsUtumnoBrickObsidian -709;02;lotr:tile.wallUtumno -710;02;lotr:tile.kebabStand -711;02;lotr:tile.kebabStandSand -712;02;lotr:tile.gateTauredain -713;02;lotr:tile.gateDolAmroth -714;02;lotr:tile.gateUruk -715;02;lotr:tile.gateSilver -716;02;lotr:tile.gateGold -717;02;lotr:tile.gateMithril -718;02;lotr:tile.brick5 -719;02;lotr:tile.stairsMudBrick -720;02;lotr:tile.leek -721;02;lotr:tile.turnip -722;02;lotr:tile.stairsDaleBrick -723;02;lotr:tile.stairsDorwinionBrick -724;02;lotr:tile.daleCraftingTable -725;02;lotr:tile.dorwinionCraftingTable -726;02;lotr:tile.stairsCypress -727;02;lotr:tile.stairsOlive -728;02;lotr:tile.slabSingle10 -729;02;lotr:tile.slabDouble10 -730;02;lotr:tile.hobbitCraftingTable -731;02;lotr:tile.gateHobbitGreen -732;02;lotr:tile.gateHobbitBlue -733;02;lotr:tile.gateHobbitRed -734;02;lotr:tile.gateHobbitYellow -735;02;lotr:tile.driedReeds -736;02;lotr:tile.redBrick -737;02;lotr:tile.stairsBrickMossy -738;02;lotr:tile.stairsBrickCracked -739;02;lotr:tile.grapevine -740;02;lotr:tile.grapevineRed -741;02;lotr:tile.grapevineWhite -742;02;lotr:tile.stairsDorwinionBrickMossy -743;02;lotr:tile.stairsDorwinionBrickCracked -744;02;lotr:tile.stairsDorwinionBrickFlowers -745;02;lotr:tile.wood7 -746;02;lotr:tile.leaves7 -747;02;lotr:tile.sapling7 -748;02;lotr:tile.woodBeam7 -749;02;lotr:tile.stairsAspen -750;02;lotr:tile.mirkVines -751;02;lotr:tile.stairsGreenOak -752;02;lotr:tile.stairsLairelosse -753;02;lotr:tile.stairsAlmond -754;02;lotr:tile.slabSingleDirt -755;02;lotr:tile.slabDoubleDirt -756;02;lotr:tile.slabSingleSand -757;02;lotr:tile.slabDoubleSand -758;02;lotr:tile.slabSingleGravel -759;02;lotr:tile.slabDoubleGravel -760;02;lotr:tile.morgulFlower -761;02;lotr:tile.blackroot -762;02;lotr:tile.wood8 -763;02;lotr:tile.leaves8 -764;02;lotr:tile.sapling8 -765;02;lotr:tile.planks3 -766;02;lotr:tile.fence3 -767;02;lotr:tile.woodSlabSingle5 -768;02;lotr:tile.woodSlabDouble5 -769;02;lotr:tile.woodBeam8 -770;02;lotr:tile.stairsPlum -771;02;lotr:tile.fallenLeavesLOTR3 -772;02;lotr:tile.stairsGondorBrickRustic -773;02;lotr:tile.stairsGondorBrickRusticMossy -774;02;lotr:tile.stairsGondorBrickRusticCracked -775;02;lotr:tile.slabSingle11 -776;02;lotr:tile.slabDouble11 -777;02;lotr:tile.whiteSand -778;02;lotr:tile.whiteSandstone -779;02;lotr:tile.stairsWhiteSandstone -780;02;lotr:tile.treasureCopper -781;02;lotr:tile.treasureSilver -782;02;lotr:tile.treasureGold -783;02;lotr:tile.chestLebethron -784;02;lotr:tile.chestBasket -785;02;lotr:tile.marigold -786;02;lotr:tile.rhunFlower -787;02;lotr:tile.chestMallorn -788;02;lotr:tile.stairsCobblestoneMossy -789;02;lotr:tile.marzipanBlock -790;02;lotr:tile.mallornTorchBlue -791;02;lotr:tile.mallornTorchGold -792;02;lotr:tile.mallornTorchGreen -793;02;lotr:tile.wallClayTile -794;02;lotr:tile.wallClayTileDyed -795;02;lotr:tile.ceramicMug -796;02;lotr:tile.gobletGold -797;02;lotr:tile.gobletSilver -798;02;lotr:tile.gobletCopper -799;02;lotr:tile.gobletWood -800;02;lotr:tile.skullCup -801;02;lotr:tile.wineGlass -802;02;lotr:tile.glassBottle -803;02;lotr:tile.aleHorn -804;02;lotr:tile.aleHornGold -805;02;lotr:tile.woodBeamS -806;02;lotr:tile.birdCage -807;02;lotr:tile.birdCageWood -808;02;lotr:tile.gateRohan -809;02;lotr:tile.signCarved -810;02;lotr:tile.signCarvedIthildin -811;02;lotr:tile.dwarvenDoorIthildin -812;02;lotr:tile.smoothStoneV -813;02;lotr:tile.smoothStone -814;02;lotr:tile.slabSingle12 -815;02;lotr:tile.slabDouble12 -816;02;lotr:tile.stairsRhunBrick -817;02;lotr:tile.stairsRhunBrickMossy -818;02;lotr:tile.stairsRhunBrickCracked -819;02;lotr:tile.stairsRhunBrickFlowers -820;02;lotr:tile.brick6 -821;02;lotr:tile.rhunCraftingTable -822;02;lotr:tile.stairsRhunBrickRed -823;02;lotr:tile.stairsRedwood -824;02;lotr:tile.rhunFire -825;02;lotr:tile.rhunFireJar -826;02;lotr:tile.daub -827;02;lotr:tile.gateRhun -828;02;lotr:tile.yam -829;02;lotr:tile.kebabBlock -830;02;lotr:tile.stairsPomegranate -4096;02;lotr:item.goldRing -4097;02;lotr:item.pouch -4098;02;lotr:item.copper -4099;02;lotr:item.tin -4100;02;lotr:item.bronze -4101;02;lotr:item.silver -4102;02;lotr:item.mithril -4103;02;lotr:item.shovelBronze -4104;02;lotr:item.pickaxeBronze -4105;02;lotr:item.axeBronze -4106;02;lotr:item.swordBronze -4107;02;lotr:item.hoeBronze -4108;02;lotr:item.helmetBronze -4109;02;lotr:item.bodyBronze -4110;02;lotr:item.legsBronze -4111;02;lotr:item.bootsBronze -4112;02;lotr:item.silverNugget -4113;02;lotr:item.silverRing -4114;02;lotr:item.mithrilNugget -4115;02;lotr:item.mithrilRing -4116;02;lotr:item.hobbitPipe -4117;02;lotr:item.pipeweed -4118;02;lotr:item.clayMug -4119;02;lotr:item.mug -4120;02;lotr:item.mugWater -4121;02;lotr:item.mugMilk -4122;02;lotr:item.mugAle -4123;02;lotr:item.mugChocolate -4124;02;lotr:item.appleCrumble -4125;02;lotr:item.mugMiruvor -4126;02;lotr:item.mugOrcDraught -4127;02;lotr:item.scimitarOrc -4128;02;lotr:item.helmetOrc -4129;02;lotr:item.bodyOrc -4130;02;lotr:item.legsOrc -4131;02;lotr:item.bootsOrc -4132;02;lotr:item.orcSteel -4133;02;lotr:item.battleaxeOrc -4134;02;lotr:item.lembas -4135;02;lotr:item.naurite -4136;02;lotr:item.daggerOrc -4137;02;lotr:item.daggerOrcPoisoned -4138;02;lotr:item.sting -4139;02;lotr:item.spawnEgg -4140;02;lotr:item.pipeweedLeaf -4141;02;lotr:item.pipeweedSeeds -4142;02;lotr:item.structureSpawner -4143;02;lotr:item.lettuce -4144;02;lotr:item.shovelMithril -4145;02;lotr:item.pickaxeMithril -4146;02;lotr:item.axeMithril -4147;02;lotr:item.swordMithril -4148;02;lotr:item.hoeMithril -4149;02;lotr:item.orcTorch -4150;02;lotr:item.sauronMace -4151;02;lotr:item.gandalfStaffWhite -4152;02;lotr:item.swordGondor -4153;02;lotr:item.helmetGondor -4154;02;lotr:item.bodyGondor -4155;02;lotr:item.legsGondor -4156;02;lotr:item.bootsGondor -4157;02;lotr:item.helmetMithril -4158;02;lotr:item.bodyMithril -4159;02;lotr:item.legsMithril -4160;02;lotr:item.bootsMithril -4161;02;lotr:item.spearGondor -4162;02;lotr:item.spearOrc -4163;02;lotr:item.spearBronze -4164;02;lotr:item.spearIron -4165;02;lotr:item.spearMithril -4166;02;lotr:item.anduril -4167;02;lotr:item.dye -4168;02;lotr:item.mallornStick -4169;02;lotr:item.shovelMallorn -4170;02;lotr:item.pickaxeMallorn -4171;02;lotr:item.axeMallorn -4172;02;lotr:item.swordMallorn -4173;02;lotr:item.hoeMallorn -4174;02;lotr:item.shovelElven -4175;02;lotr:item.pickaxeElven -4176;02;lotr:item.axeElven -4177;02;lotr:item.swordElven -4178;02;lotr:item.hoeElven -4179;02;lotr:item.spearElven -4180;02;lotr:item.mallornBow -4181;02;lotr:item.helmetElven -4182;02;lotr:item.bodyElven -4183;02;lotr:item.legsElven -4184;02;lotr:item.bootsElven -4185;02;lotr:item.coin -4186;02;lotr:item.gammon -4187;02;lotr:item.clayPlate -4188;02;lotr:item.plate -4189;02;lotr:item.elvenBow -4190;02;lotr:item.wargFur -4191;02;lotr:item.helmetWarg -4192;02;lotr:item.bodyWarg -4193;02;lotr:item.legsWarg -4194;02;lotr:item.bootsWarg -4195;02;lotr:item.orcBow -4196;02;lotr:item.mugMead -4197;02;lotr:item.wargskinRug -4198;02;lotr:item.quenditeCrystal -4199;02;lotr:item.blacksmithHammer -4200;02;lotr:item.daggerGondor -4201;02;lotr:item.daggerElven -4202;02;lotr:item.hobbitRing -4203;02;lotr:item.elvenBed -4204;02;lotr:item.wargBone -4205;02;lotr:item.appleGreen -4206;02;lotr:item.pear -4207;02;lotr:item.cherry -4208;02;lotr:item.dwarfSteel -4209;02;lotr:item.shovelDwarven -4210;02;lotr:item.pickaxeDwarven -4211;02;lotr:item.axeDwarven -4212;02;lotr:item.swordDwarven -4213;02;lotr:item.hoeDwarven -4214;02;lotr:item.daggerDwarven -4215;02;lotr:item.battleaxeDwarven -4216;02;lotr:item.hammerDwarven -4217;02;lotr:item.shovelOrc -4218;02;lotr:item.pickaxeOrc -4219;02;lotr:item.axeOrc -4220;02;lotr:item.hoeOrc -4221;02;lotr:item.hammerOrc -4222;02;lotr:item.helmetDwarven -4223;02;lotr:item.bodyDwarven -4224;02;lotr:item.legsDwarven -4225;02;lotr:item.bootsDwarven -4226;02;lotr:item.galvorn -4227;02;lotr:item.helmetGalvorn -4228;02;lotr:item.bodyGalvorn -4229;02;lotr:item.legsGalvorn -4230;02;lotr:item.bootsGalvorn -4231;02;lotr:item.daggerBronze -4232;02;lotr:item.daggerIron -4233;02;lotr:item.daggerMithril -4234;02;lotr:item.battleaxeMithril -4235;02;lotr:item.hammerMithril -4236;02;lotr:item.hammerGondor -4237;02;lotr:item.orcBone -4238;02;lotr:item.elfBone -4239;02;lotr:item.dwarfBone -4240;02;lotr:item.hobbitBone -4241;02;lotr:item.commandHorn -4242;02;lotr:item.throwingAxeDwarven -4243;02;lotr:item.urukSteel -4244;02;lotr:item.shovelUruk -4245;02;lotr:item.pickaxeUruk -4246;02;lotr:item.axeUruk -4247;02;lotr:item.scimitarUruk -4248;02;lotr:item.hoeUruk -4249;02;lotr:item.daggerUruk -4250;02;lotr:item.daggerUrukPoisoned -4251;02;lotr:item.battleaxeUruk -4252;02;lotr:item.hammerUruk -4253;02;lotr:item.spearUruk -4254;02;lotr:item.helmetUruk -4255;02;lotr:item.bodyUruk -4256;02;lotr:item.legsUruk -4257;02;lotr:item.bootsUruk -4258;02;lotr:item.crossbowBolt -4259;02;lotr:item.urukCrossbow -4260;02;lotr:item.cherryPie -4261;02;lotr:item.trollBone -4262;02;lotr:item.trollStatue -4263;02;lotr:item.ironCrossbow -4264;02;lotr:item.mithrilCrossbow -4265;02;lotr:item.woodElvenBed -4266;02;lotr:item.helmetWoodElvenScout -4267;02;lotr:item.bodyWoodElvenScout -4268;02;lotr:item.legsWoodElvenScout -4269;02;lotr:item.bootsWoodElvenScout -4270;02;lotr:item.mirkwoodBow -4271;02;lotr:item.mugRedWine -4272;02;lotr:item.ancientParts -4273;02;lotr:item.ancient -4274;02;lotr:item.swordRohan -4275;02;lotr:item.daggerRohan -4276;02;lotr:item.spearRohan -4277;02;lotr:item.helmetRohan -4278;02;lotr:item.bodyRohan -4279;02;lotr:item.legsRohan -4280;02;lotr:item.bootsRohan -4281;02;lotr:item.helmetGondorWinged -4282;02;lotr:item.guldurilCrystal -4283;02;lotr:item.mallornNut -4284;02;lotr:item.dwarvenBed -4285;02;lotr:item.mugCider -4286;02;lotr:item.mugPerry -4287;02;lotr:item.mugCherryLiqueur -4288;02;lotr:item.mugRum -4289;02;lotr:item.mugAthelasBrew -4290;02;lotr:item.armorStand -4291;02;lotr:item.pebble -4292;02;lotr:item.sling -4293;02;lotr:item.mysteryWeb -4294;02;lotr:item.mugDwarvenTonic -4295;02;lotr:item.helmetRanger -4296;02;lotr:item.bodyRanger -4297;02;lotr:item.legsRanger -4298;02;lotr:item.bootsRanger -4299;02;lotr:item.helmetDunlending -4300;02;lotr:item.bodyDunlending -4301;02;lotr:item.legsDunlending -4302;02;lotr:item.bootsDunlending -4303;02;lotr:item.dunlendingClub -4304;02;lotr:item.dunlendingTrident -4305;02;lotr:item.entDraught -4306;02;lotr:item.mugDwarvenAle -4307;02;lotr:item.maggotyBread -4308;02;lotr:item.morgulSteel -4309;02;lotr:item.morgulBlade -4310;02;lotr:item.helmetMorgul -4311;02;lotr:item.bodyMorgul -4312;02;lotr:item.legsMorgul -4313;02;lotr:item.bootsMorgul -4314;02;lotr:item.leatherHat -4315;02;lotr:item.featherDyed -4316;02;lotr:item.mattockDwarven -4317;02;lotr:item.orcBed -4318;02;lotr:item.shovelWoodElven -4319;02;lotr:item.pickaxeWoodElven -4320;02;lotr:item.axeWoodElven -4321;02;lotr:item.swordWoodElven -4322;02;lotr:item.hoeWoodElven -4323;02;lotr:item.daggerWoodElven -4324;02;lotr:item.spearWoodElven -4325;02;lotr:item.helmetWoodElven -4326;02;lotr:item.bodyWoodElven -4327;02;lotr:item.legsWoodElven -4328;02;lotr:item.bootsWoodElven -4329;02;lotr:item.rabbitRaw -4330;02;lotr:item.rabbitCooked -4331;02;lotr:item.rabbitStew -4332;02;lotr:item.mugVodka -4333;02;lotr:item.sulfur -4334;02;lotr:item.saltpeter -4335;02;lotr:item.commandSword -4336;02;lotr:item.hobbitPancake -4337;02;lotr:item.bottlePoison -4338;02;lotr:item.daggerBronzePoisoned -4339;02;lotr:item.daggerIronPoisoned -4340;02;lotr:item.daggerMithrilPoisoned -4341;02;lotr:item.daggerGondorPoisoned -4342;02;lotr:item.daggerElvenPoisoned -4343;02;lotr:item.daggerDwarvenPoisoned -4344;02;lotr:item.daggerRohanPoisoned -4345;02;lotr:item.daggerWoodElvenPoisoned -4346;02;lotr:item.banner -4347;02;lotr:item.sulfurMatch -4348;02;lotr:item.swordAngmar -4349;02;lotr:item.daggerAngmar -4350;02;lotr:item.daggerAngmarPoisoned -4351;02;lotr:item.battleaxeAngmar -4352;02;lotr:item.hammerAngmar -4353;02;lotr:item.spearAngmar -4354;02;lotr:item.shovelAngmar -4355;02;lotr:item.pickaxeAngmar -4356;02;lotr:item.axeAngmar -4357;02;lotr:item.hoeAngmar -4358;02;lotr:item.helmetAngmar -4359;02;lotr:item.bodyAngmar -4360;02;lotr:item.legsAngmar -4361;02;lotr:item.bootsAngmar -4362;02;lotr:item.mango -4363;02;lotr:item.mugMangoJuice -4364;02;lotr:item.banana -4365;02;lotr:item.bananaBread -4366;02;lotr:item.bananaCake -4367;02;lotr:item.lionFur -4368;02;lotr:item.lionRaw -4369;02;lotr:item.lionCooked -4370;02;lotr:item.zebraRaw -4371;02;lotr:item.zebraCooked -4372;02;lotr:item.rhinoRaw -4373;02;lotr:item.rhinoCooked -4374;02;lotr:item.rhinoHorn -4375;02;lotr:item.battleaxeRohan -4376;02;lotr:item.lionBed -4377;02;lotr:item.scimitarNearHarad -4378;02;lotr:item.helmetNearHarad -4379;02;lotr:item.bodyNearHarad -4380;02;lotr:item.legsNearHarad -4381;02;lotr:item.bootsNearHarad -4382;02;lotr:item.gemsbokHide -4383;02;lotr:item.gemsbokHorn -4384;02;lotr:item.helmetGemsbok -4385;02;lotr:item.bodyGemsbok -4386;02;lotr:item.legsGemsbok -4387;02;lotr:item.bootsGemsbok -4388;02;lotr:item.mapleSyrup -4389;02;lotr:item.hobbitPancakeMapleSyrup -4390;02;lotr:item.mugMapleBeer -4391;02;lotr:item.helmetHighElven -4392;02;lotr:item.bodyHighElven -4393;02;lotr:item.legsHighElven -4394;02;lotr:item.bootsHighElven -4395;02;lotr:item.shovelHighElven -4396;02;lotr:item.pickaxeHighElven -4397;02;lotr:item.axeHighElven -4398;02;lotr:item.swordHighElven -4399;02;lotr:item.hoeHighElven -4400;02;lotr:item.daggerHighElven -4401;02;lotr:item.daggerHighElvenPoisoned -4402;02;lotr:item.spearHighElven -4403;02;lotr:item.highElvenBed -4404;02;lotr:item.daggerNearHarad -4405;02;lotr:item.daggerNearHaradPoisoned -4406;02;lotr:item.spearNearHarad -4407;02;lotr:item.nearHaradBow -4408;02;lotr:item.date -4409;02;lotr:item.mugAraq -4410;02;lotr:item.blueDwarfSteel -4411;02;lotr:item.shovelBlueDwarven -4412;02;lotr:item.pickaxeBlueDwarven -4413;02;lotr:item.axeBlueDwarven -4414;02;lotr:item.swordBlueDwarven -4415;02;lotr:item.hoeBlueDwarven -4416;02;lotr:item.daggerBlueDwarven -4417;02;lotr:item.daggerBlueDwarvenPoisoned -4418;02;lotr:item.battleaxeBlueDwarven -4419;02;lotr:item.hammerBlueDwarven -4420;02;lotr:item.mattockBlueDwarven -4421;02;lotr:item.throwingAxeBlueDwarven -4422;02;lotr:item.helmetBlueDwarven -4423;02;lotr:item.bodyBlueDwarven -4424;02;lotr:item.legsBlueDwarven -4425;02;lotr:item.bootsBlueDwarven -4426;02;lotr:item.dwarvenRing -4427;02;lotr:item.spearDwarven -4428;02;lotr:item.spearBlueDwarven -4429;02;lotr:item.horseArmorIron -4430;02;lotr:item.horseArmorGold -4431;02;lotr:item.horseArmorDiamond -4432;02;lotr:item.horseArmorGondor -4433;02;lotr:item.horseArmorRohan -4434;02;lotr:item.wargArmorUruk -4435;02;lotr:item.horseArmorHighElven -4436;02;lotr:item.horseArmorGaladhrim -4437;02;lotr:item.horseArmorMorgul -4438;02;lotr:item.horseArmorMithril -4439;02;lotr:item.elkArmorWoodElven -4440;02;lotr:item.wargArmorMordor -4441;02;lotr:item.wargArmorAngmar -4442;02;lotr:item.mugCarrotWine -4443;02;lotr:item.mugBananaBeer -4444;02;lotr:item.mugMelonLiqueur -4445;02;lotr:item.strawBed -4446;02;lotr:item.orcSkullStaff -4447;02;lotr:item.swordDolGuldur -4448;02;lotr:item.daggerDolGuldur -4449;02;lotr:item.daggerDolGuldurPoisoned -4450;02;lotr:item.spearDolGuldur -4451;02;lotr:item.shovelDolGuldur -4452;02;lotr:item.axeDolGuldur -4453;02;lotr:item.pickaxeDolGuldur -4454;02;lotr:item.hoeDolGuldur -4455;02;lotr:item.battleaxeDolGuldur -4456;02;lotr:item.hammerDolGuldur -4457;02;lotr:item.helmetDolGuldur -4458;02;lotr:item.bodyDolGuldur -4459;02;lotr:item.legsDolGuldur -4460;02;lotr:item.bootsDolGuldur -4461;02;lotr:item.dalishPastry -4462;02;lotr:item.redBook -4463;02;lotr:item.termite -4464;02;lotr:item.helmetUtumno -4465;02;lotr:item.bodyUtumno -4466;02;lotr:item.legsUtumno -4467;02;lotr:item.bootsUtumno -4468;02;lotr:item.flaxSeeds -4469;02;lotr:item.flax -4470;02;lotr:item.blueberry -4471;02;lotr:item.blackberry -4472;02;lotr:item.raspberry -4473;02;lotr:item.cranberry -4474;02;lotr:item.elderberry -4475;02;lotr:item.chestnut -4476;02;lotr:item.chestnutRoast -4477;02;lotr:item.blackUrukSteel -4478;02;lotr:item.scimitarBlackUruk -4479;02;lotr:item.daggerBlackUruk -4480;02;lotr:item.daggerBlackUrukPoisoned -4481;02;lotr:item.spearBlackUruk -4482;02;lotr:item.battleaxeBlackUruk -4483;02;lotr:item.hammerBlackUruk -4484;02;lotr:item.helmetBlackUruk -4485;02;lotr:item.bodyBlackUruk -4486;02;lotr:item.legsBlackUruk -4487;02;lotr:item.bootsBlackUruk -4488;02;lotr:item.blackUrukBow -4489;02;lotr:item.helmetNearHaradWarlord -4490;02;lotr:item.utumnoKey -4491;02;lotr:item.swordUtumno -4492;02;lotr:item.daggerUtumno -4493;02;lotr:item.daggerUtumnoPoisoned -4494;02;lotr:item.spearUtumno -4495;02;lotr:item.battleaxeUtumno -4496;02;lotr:item.hammerUtumno -4497;02;lotr:item.utumnoBow -4498;02;lotr:item.mugCactusLiqueur -4499;02;lotr:item.rohanBow -4500;02;lotr:item.gondorBow -4501;02;lotr:item.highElvenBow -4502;02;lotr:item.utumnoPickaxe -4503;02;lotr:item.balrogWhip -4504;02;lotr:item.battleaxeIron -4505;02;lotr:item.battleaxeBronze -4506;02;lotr:item.bronzeCrossbow -4507;02;lotr:item.conquestHorn -4508;02;lotr:item.helmetHalfTroll -4509;02;lotr:item.bodyHalfTroll -4510;02;lotr:item.legsHalfTroll -4511;02;lotr:item.bootsHalfTroll -4512;02;lotr:item.battleaxeHalfTroll -4513;02;lotr:item.hammerHalfTroll -4514;02;lotr:item.maceHalfTroll -4515;02;lotr:item.scimitarHalfTroll -4516;02;lotr:item.daggerHalfTroll -4517;02;lotr:item.daggerHalfTrollPoisoned -4518;02;lotr:item.mugTorogDraught -4519;02;lotr:item.berryPie -4520;02;lotr:item.mugBlueberryJuice -4521;02;lotr:item.mugBlackberryJuice -4522;02;lotr:item.mugRaspberryJuice -4523;02;lotr:item.mugCranberryJuice -4524;02;lotr:item.mugElderberryJuice -4525;02;lotr:item.rhinoArmorHalfTroll -4526;02;lotr:item.helmetDwarvenSilver -4527;02;lotr:item.bodyDwarvenSilver -4528;02;lotr:item.legsDwarvenSilver -4529;02;lotr:item.bootsDwarvenSilver -4530;02;lotr:item.helmetDwarvenGold -4531;02;lotr:item.bodyDwarvenGold -4532;02;lotr:item.legsDwarvenGold -4533;02;lotr:item.bootsDwarvenGold -4534;02;lotr:item.helmetDwarvenMithril -4535;02;lotr:item.bodyDwarvenMithril -4536;02;lotr:item.legsDwarvenMithril -4537;02;lotr:item.bootsDwarvenMithril -4538;02;lotr:item.torogStew -4539;02;lotr:item.elfSteel -4540;02;lotr:item.swordDolAmroth -4541;02;lotr:item.helmetDolAmroth -4542;02;lotr:item.bodyDolAmroth -4543;02;lotr:item.legsDolAmroth -4544;02;lotr:item.bootsDolAmroth -4545;02;lotr:item.horseArmorDolAmroth -4546;02;lotr:item.swanFeather -4547;02;lotr:item.daggerMoredain -4548;02;lotr:item.daggerMoredainPoisoned -4549;02;lotr:item.battleaxeMoredain -4550;02;lotr:item.spearMoredain -4551;02;lotr:item.helmetMoredain -4552;02;lotr:item.bodyMoredain -4553;02;lotr:item.legsMoredain -4554;02;lotr:item.bootsMoredain -4555;02;lotr:item.helmetMoredainLion -4556;02;lotr:item.bodyMoredainLion -4557;02;lotr:item.legsMoredainLion -4558;02;lotr:item.bootsMoredainLion -4559;02;lotr:item.helmetHaradRobes -4560;02;lotr:item.bodyHaradRobes -4561;02;lotr:item.legsHaradRobes -4562;02;lotr:item.bootsHaradRobes -4563;02;lotr:item.helmetBone -4564;02;lotr:item.bodyBone -4565;02;lotr:item.legsBone -4566;02;lotr:item.bootsBone -4567;02;lotr:item.cram -4568;02;lotr:item.throwingAxeBronze -4569;02;lotr:item.throwingAxeIron -4570;02;lotr:item.bossTrophy -4571;02;lotr:item.swordGondolin -4572;02;lotr:item.maceMallornCharred -4573;02;lotr:item.lemon -4574;02;lotr:item.lemonCake -4575;02;lotr:item.orange -4576;02;lotr:item.mugOrangeJuice -4577;02;lotr:item.mugLemonLiqueur -4578;02;lotr:item.mugLemonade -4579;02;lotr:item.helmetGondolin -4580;02;lotr:item.bodyGondolin -4581;02;lotr:item.legsGondolin -4582;02;lotr:item.bootsGondolin -4583;02;lotr:item.lime -4584;02;lotr:item.mugLimeLiqueur -4585;02;lotr:item.helmetRohanMarshal -4586;02;lotr:item.bodyRohanMarshal -4587;02;lotr:item.legsRohanMarshal -4588;02;lotr:item.bootsRohanMarshal -4589;02;lotr:item.obsidianShard -4590;02;lotr:item.shovelTauredain -4591;02;lotr:item.pickaxeTauredain -4592;02;lotr:item.axeTauredain -4593;02;lotr:item.hoeTauredain -4594;02;lotr:item.daggerTauredain -4595;02;lotr:item.daggerTauredainPoisoned -4596;02;lotr:item.spearTauredain -4597;02;lotr:item.swordTauredain -4598;02;lotr:item.helmetTauredain -4599;02;lotr:item.bodyTauredain -4600;02;lotr:item.legsTauredain -4601;02;lotr:item.bootsTauredain -4602;02;lotr:item.helmetTauredainChieftain -4603;02;lotr:item.poleaxeNearHarad -4604;02;lotr:item.pikeUruk -4605;02;lotr:item.horseArmorNearHarad -4606;02;lotr:item.polearmOrc -4607;02;lotr:item.lanceDolAmroth -4608;02;lotr:item.polearmHighElven -4609;02;lotr:item.polearmElven -4610;02;lotr:item.polearmWoodElven -4611;02;lotr:item.tauredainBlowgun -4612;02;lotr:item.tauredainDart -4613;02;lotr:item.tauredainDartPoisoned -4614;02;lotr:item.daggerBarrow -4615;02;lotr:item.daggerBarrowPoisoned -4616;02;lotr:item.muttonRaw -4617;02;lotr:item.muttonCooked -4618;02;lotr:item.maceNearHarad -4619;02;lotr:item.mugTauredainCocoa -4620;02;lotr:item.hithlain -4621;02;lotr:item.helmetHithlain -4622;02;lotr:item.bodyHithlain -4623;02;lotr:item.legsHithlain -4624;02;lotr:item.bootsHithlain -4625;02;lotr:item.boarArmorDwarven -4626;02;lotr:item.boarArmorBlueDwarven -4627;02;lotr:item.pikeHalfTroll -4628;02;lotr:item.pikeIron -4629;02;lotr:item.tauredainDoubleTorch -4630;02;lotr:item.helmetTauredainGold -4631;02;lotr:item.bodyTauredainGold -4632;02;lotr:item.legsTauredainGold -4633;02;lotr:item.bootsTauredainGold -4634;02;lotr:item.mugTauredainCure -4635;02;lotr:item.tauredainAmulet -4636;02;lotr:item.pikeDwarven -4637;02;lotr:item.pikeBlueDwarven -4638;02;lotr:item.corn -4639;02;lotr:item.daggerDolAmroth -4640;02;lotr:item.daggerDolAmrothPoisoned -4641;02;lotr:item.helmetGundabadUruk -4642;02;lotr:item.bodyGundabadUruk -4643;02;lotr:item.legsGundabadUruk -4644;02;lotr:item.bootsGundabadUruk -4645;02;lotr:item.lanceGondor -4646;02;lotr:item.swordGundabadUruk -4647;02;lotr:item.battleaxeGundabadUruk -4648;02;lotr:item.hammerGundabadUruk -4649;02;lotr:item.helmetUrukBerserker -4650;02;lotr:item.scimitarUrukBerserker -4651;02;lotr:item.mugCornLiquor -4652;02;lotr:item.gateGear -4653;02;lotr:item.wargFurBed -4654;02;lotr:item.deerRaw -4655;02;lotr:item.deerCooked -4656;02;lotr:item.kebab -4657;02;lotr:item.lanceRohan -4658;02;lotr:item.cornCooked -4659;02;lotr:item.shishKebab -4660;02;lotr:item.longspearElven -4661;02;lotr:item.longspearHighElven -4662;02;lotr:item.longspearWoodElven -4663;02;lotr:item.ringil -4664;02;lotr:item.halberdMithril -4665;02;lotr:item.leek -4666;02;lotr:item.leekSoup -4667;02;lotr:item.turnip -4668;02;lotr:item.camelRaw -4669;02;lotr:item.camelCooked -4670;02;lotr:item.swordDale -4671;02;lotr:item.daggerDale -4672;02;lotr:item.daggerDalePoisoned -4673;02;lotr:item.spearDale -4674;02;lotr:item.battleaxeDale -4675;02;lotr:item.helmetDale -4676;02;lotr:item.bodyDale -4677;02;lotr:item.legsDale -4678;02;lotr:item.bootsDale -4679;02;lotr:item.helmetDorwinion -4680;02;lotr:item.bodyDorwinion -4681;02;lotr:item.legsDorwinion -4682;02;lotr:item.bootsDorwinion -4683;02;lotr:item.helmetDorwinionElf -4684;02;lotr:item.bodyDorwinionElf -4685;02;lotr:item.legsDorwinionElf -4686;02;lotr:item.bootsDorwinionElf -4687;02;lotr:item.spearBladorthin -4688;02;lotr:item.olive -4689;02;lotr:item.daleBow -4690;02;lotr:item.mugAppleJuice -4691;02;lotr:item.horseArmorDale -4692;02;lotr:item.npcRespawner -4693;02;lotr:item.helmetRangerIthilien -4694;02;lotr:item.bodyRangerIthilien -4695;02;lotr:item.legsRangerIthilien -4696;02;lotr:item.bootsRangerIthilien -4697;02;lotr:item.daggerGundabadUruk -4698;02;lotr:item.daggerGundabadUrukPoisoned -4699;02;lotr:item.spearGundabadUruk -4700;02;lotr:item.pikeGundabadUruk -4701;02;lotr:item.gundabadUrukBow -4702;02;lotr:item.hammerTauredain -4703;02;lotr:item.swordDorwinionElf -4704;02;lotr:item.daggerDorwinionElf -4705;02;lotr:item.daggerDorwinionElfPoisoned -4706;02;lotr:item.battleaxeTauredain -4707;02;lotr:item.pikeTauredain -4708;02;lotr:item.clubMoredain -4709;02;lotr:item.oliveBread -4710;02;lotr:item.pikeDale -4711;02;lotr:item.rollingPin -4712;02;lotr:item.grapeRed -4713;02;lotr:item.grapeWhite -4714;02;lotr:item.seedsGrapeRed -4715;02;lotr:item.seedsGrapeWhite -4716;02;lotr:item.mugWhiteWine -4717;02;lotr:item.mugRedGrapeJuice -4718;02;lotr:item.mugWhiteGrapeJuice -4719;02;lotr:item.polearmAngmar -4720;02;lotr:item.pikeDolGuldur -4721;02;lotr:item.turnipCooked -4722;02;lotr:item.kineArawHorn -4723;02;lotr:item.melonSoup -4724;02;lotr:item.ceramicMug -4725;02;lotr:item.pikeNearHarad -4726;02;lotr:item.almond -4727;02;lotr:item.wildberry -4728;02;lotr:item.blackrootStick -4729;02;lotr:item.plum -4730;02;lotr:item.helmetLossarnach -4731;02;lotr:item.bodyLossarnach -4732;02;lotr:item.legsLossarnach -4733;02;lotr:item.bootsLossarnach -4734;02;lotr:item.helmetPelargir -4735;02;lotr:item.bodyPelargir -4736;02;lotr:item.legsPelargir -4737;02;lotr:item.bootsPelargir -4738;02;lotr:item.helmetPinnathGelin -4739;02;lotr:item.bodyPinnathGelin -4740;02;lotr:item.legsPinnathGelin -4741;02;lotr:item.bootsPinnathGelin -4742;02;lotr:item.battleaxeLossarnach -4743;02;lotr:item.throwingAxeLossarnach -4744;02;lotr:item.swordPelargir -4745;02;lotr:item.tridentPelargir -4746;02;lotr:item.mugMorgulDraught -4747;02;lotr:item.helmetBlackroot -4748;02;lotr:item.bodyBlackroot -4749;02;lotr:item.legsBlackroot -4750;02;lotr:item.bootsBlackroot -4751;02;lotr:item.blackrootBow -4752;02;lotr:item.pikeGondor -4753;02;lotr:item.bodyDolAmrothGambeson -4754;02;lotr:item.legsDolAmrothGambeson -4755;02;lotr:item.longspearDolAmroth -4756;02;lotr:item.mugPlumKvass -4757;02;lotr:item.bodyGondorGambeson -4758;02;lotr:item.bodyLebenninGambeson -4759;02;lotr:item.spearStone -4760;02;lotr:item.marzipan -4761;02;lotr:item.marzipanChocolate -4762;02;lotr:item.daleCracker -4763;02;lotr:item.partyHat -4764;02;lotr:item.helmetLamedon -4765;02;lotr:item.bodyLamedon -4766;02;lotr:item.legsLamedon -4767;02;lotr:item.bootsLamedon -4768;02;lotr:item.horseArmorLamedon -4769;02;lotr:item.bodyLamedonJacket -4770;02;lotr:item.gobletGold -4771;02;lotr:item.gobletSilver -4772;02;lotr:item.gobletCopper -4773;02;lotr:item.gobletWood -4774;02;lotr:item.skullCup -4775;02;lotr:item.wineGlass -4776;02;lotr:item.bodyDaleGambeson -4777;02;lotr:item.waterskin -4778;02;lotr:item.aleHorn -4779;02;lotr:item.aleHornGold -4780;02;lotr:item.horn -4781;02;lotr:item.chisel -4782;02;lotr:item.ithildin -4783;02;lotr:item.chiselIthildin -4784;02;lotr:item.helmetArnor -4785;02;lotr:item.bodyArnor -4786;02;lotr:item.legsArnor -4787;02;lotr:item.bootsArnor -4788;02;lotr:item.rangerBow -4789;02;lotr:item.swordRhun -4790;02;lotr:item.daggerRhun -4791;02;lotr:item.daggerRhunPoisoned -4792;02;lotr:item.spearRhun -4793;02;lotr:item.polearmRhun -4794;02;lotr:item.pikeRhun -4795;02;lotr:item.helmetRhun -4796;02;lotr:item.bodyRhun -4797;02;lotr:item.legsRhun -4798;02;lotr:item.bootsRhun -4799;02;lotr:item.rhunBow -4800;02;lotr:item.horseArmorRhunGold -4801;02;lotr:item.gildedIron -4802;02;lotr:item.mugTermiteTequila -4803;02;lotr:item.rhunFirePot -4804;02;lotr:item.yam -4805;02;lotr:item.yamRoast -4806;02;lotr:item.bodyKaftan -4807;02;lotr:item.legsKaftan -4808;02;lotr:item.helmetRhunGold -4809;02;lotr:item.bodyRhunGold -4810;02;lotr:item.legsRhunGold -4811;02;lotr:item.bootsRhunGold -4812;02;lotr:item.helmetRhunWarlord -4813;02;lotr:item.mugSourMilk -4814;02;lotr:item.pomegranate -4815;02;lotr:item.mugPomegranateJuice -4816;02;lotr:item.mugPomegranateWine -4817;02;lotr:item.dorwinionElfBow -4818;02;lotr:item.mattockMithril From ee360ef8d8129a4dcf49e886cac88d6a07eab998 Mon Sep 17 00:00:00 2001 From: MggMuggins Date: Tue, 14 Feb 2017 09:52:51 -0600 Subject: [PATCH 03/12] Updated gitignore, makefile, and README --- .gitignore | 1 + Makefile | 2 +- README.md | 17 +++++++++++------ 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 18c5131..f5e0235 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ diffIds.txt +lotr_textures.py \ No newline at end of file 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..c4467f6 100644 --- a/README.md +++ b/README.md @@ -5,23 +5,25 @@ 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: @@ -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 From 7bd94acb035a2ba721e63140ad31e2286312b66c Mon Sep 17 00:00:00 2001 From: MggMuggins Date: Tue, 14 Feb 2017 17:05:51 -0600 Subject: [PATCH 04/12] Rethought adding working files to repo, changed gitignore to reflect that --- .gitignore | 3 +- diffIds.txt | 248 ++++++ lotr_textures.py | 2103 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 2352 insertions(+), 2 deletions(-) create mode 100644 diffIds.txt create mode 100644 lotr_textures.py diff --git a/.gitignore b/.gitignore index f5e0235..d392f0e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ -diffIds.txt -lotr_textures.py \ No newline at end of file +*.jar diff --git a/diffIds.txt b/diffIds.txt new file mode 100644 index 0000000..88f6a01 --- /dev/null +++ b/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/lotr_textures.py b/lotr_textures.py new file mode 100644 index 0000000..5448b9d --- /dev/null +++ b/lotr_textures.py @@ -0,0 +1,2103 @@ +# { 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") + +################################################################################ +# 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(13), 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") + return self.build_block(t, t) + +@material(blockid=, data=range(6), solid=True) +def utumnoBrick_values(self, blockid, data): + t = self.load_image_texture("assets/lotr/textures/blocks/utumnoBrick_fire.png") + if data == 1: + t = self.load_image_texture("assets/lotr/textures/blocks/utumnoBrick_burning.png") + elif data == 2: + t = self.load_image_texture("assets/lotr/textures/blocks/utumnoBrick_ice.png") + elif data == 3: + t = self.load_image_texture("assets/lotr/textures/blocks/utumnoBrick_iceGlowing.png") + elif data == 4: + t = self.load_image_texture("assets/lotr/textures/blocks/utumnoBrick_obsidian.png") + elif data == 5: + t = self.load_image_texture("assets/lotr/textures/blocks/utumnoBrick_obsidianFire.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 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) + +##### 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): + 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: + 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: + 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: + 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: + 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: + 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: + 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: + 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: + 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: + 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: + 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: + 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: + 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: + 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 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 orcTorch(self, blockid, data): + 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") + 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 + +################################################################################ +# Werdoes ###################################################################### +################################################################################ + +@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() + + 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") + 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") + 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() + + # 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() + + # 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 From 586421b487083346e6c3ee3b0af2d4663e166077 Mon Sep 17 00:00:00 2001 From: MggMuggins Date: Tue, 14 Feb 2017 17:31:54 -0600 Subject: [PATCH 05/12] Added a few more things, committing frequently for security --- diffIds.txt | 12 ++++++------ lotr_textures.py | 32 ++++++++++++++++++++++++-------- 2 files changed, 30 insertions(+), 14 deletions(-) diff --git a/diffIds.txt b/diffIds.txt index 88f6a01..1d1a4aa 100644 --- a/diffIds.txt +++ b/diffIds.txt @@ -30,22 +30,22 @@ > 612 sapling6 > 613 woodSlabSingle4 > 614 woodSlabDouble4 - > 615 stairsMahogany +615 stairsMahogany 616 mud 617 mudGrass > 618 chestStone > 619 spawnerChestStone 620 mudFarmland - > 621 stairsNearHaradBrickRed - > 622 stairsNearHaradBrickRedCracked +621 stairsNearHaradBrickRed +622 stairsNearHaradBrickRedCracked 623 redSandstone 624 stairsRedSandstone - > 625 stairsDwarvenBrickCracked +625 stairsDwarvenBrickCracked > 626 pillar2 627 hithlainLadder > 628 reeds - > 629 stairsReed - > 630 tauredainDoubleTorch +629 stairsReed +630 tauredainDoubleTorch > 631 woodBeamV1 > 632 reedBars > 633 woodBeamV2 diff --git a/lotr_textures.py b/lotr_textures.py index 5448b9d..c356e58 100644 --- a/lotr_textures.py +++ b/lotr_textures.py @@ -862,12 +862,18 @@ def haradFlower(self, blockid, data): 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 orcTorch(self, blockid, data): - 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") +@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) ################################################################################ @@ -895,10 +901,10 @@ def lotr_double_flowers(self, blockid, data): return img ################################################################################ -# Werdoes ###################################################################### +# Weirdoes ###################################################################### ################################################################################ -@material(blockid=[, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], data=range(128), transparent=True, solid=True, nospawn=True) +@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 @@ -1039,6 +1045,16 @@ def lotr_stairs(self, blockid, data): 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() outside_l = texture.copy() outside_r = texture.copy() From fb225193ec4d446cd7455c21daafc40781d0d9a4 Mon Sep 17 00:00:00 2001 From: MggMuggins Date: Tue, 14 Feb 2017 20:55:55 -0600 Subject: [PATCH 06/12] A few more things added --- diffIds.txt | 24 ++++++++++++------------ lotr_textures.py | 34 ++++++++++++++++++++++++++++------ 2 files changed, 40 insertions(+), 18 deletions(-) diff --git a/diffIds.txt b/diffIds.txt index 1d1a4aa..17ad692 100644 --- a/diffIds.txt +++ b/diffIds.txt @@ -47,40 +47,40 @@ 629 stairsReed 630 tauredainDoubleTorch > 631 woodBeamV1 - > 632 reedBars +632 reedBars > 633 woodBeamV2 > 634 woodBeam1 > 635 tauredainDartTrapGold > 636 weaponRack > 637 cornStalk - > 638 wasteBlock - > 639 stairsDwarvenBrickObsidian - > 640 dirtPath - > 641 stairsWillow - > 642 willowVines +638 wasteBlock +639 stairsDwarvenBrickObsidian +640 dirtPath +641 stairsWillow +642 willowVines > 643 woodBeam2 > 644 woodBeamFruit > 645 woodBeam3 > 646 woodBeam4 > 647 woodBeam5 > 648 woodBeam6 - > 649 woodBeamRotten +649 woodBeamRotten > 650 gateWooden > 651 gateIronBars > 652 gateBronzeBars > 653 gateWoodenCross > 654 gateOrc - > 655 stairsChalkBrick +655 stairsChalkBrick > 656 slabSingle9 > 657 slabDouble9 > 658 gateElven > 659 gateDwarven > 660 gateGondor - > 661 pressurePlateChalk - > 662 buttonChalk +661 pressurePlateChalk +662 buttonChalk > 663 wallStoneV - > 664 stairsStoneBrickMossy - > 665 stairsStoneBrickCracked +664 stairsStoneBrickMossy +665 stairsStoneBrickCracked > 666 slabSingleV > 667 slabDoubleV > 668 stairsStone diff --git a/lotr_textures.py b/lotr_textures.py index c356e58..3ec4c7c 100644 --- a/lotr_textures.py +++ b/lotr_textures.py @@ -26,6 +26,8 @@ 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") ################################################################################ # Opaque single-texture full blocks with data value: ########################### @@ -466,7 +468,7 @@ def orcBomb(self, blockid, data): # Opaque bi-texture full blocks with orientation: ############################## ################################################################################ -@material(blockid=[,,,,,,], data=range(16), solid=True) +@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 @@ -553,6 +555,9 @@ def lotr_wood(self, blockid, data): 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") + 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") # choose orientation and paste textures if wood_orientation == 0: return self.build_block(top, side) @@ -904,7 +909,7 @@ def lotr_double_flowers(self, blockid, data): # Weirdoes ###################################################################### ################################################################################ -@material(blockid=[, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], data=range(128), transparent=True, solid=True, nospawn=True) +@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 @@ -1055,6 +1060,15 @@ def lotr_stairs(self, blockid, data): 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 == : outside_l = texture.copy() outside_r = texture.copy() @@ -1127,7 +1141,7 @@ def rect(tex,coords): return img -@material(blockid=[, , , , , , , , , , , , , ], data=range(256), transparent=True, nospawn=True) +@material(blockid=[, , , , , , , , , , , , , , ], data=range(256), transparent=True, nospawn=True) def lotr_bars(self, blockid, data): # no rotation, uses pseudo data if blockid == : @@ -1158,6 +1172,8 @@ def lotr_bars(self, blockid, data): 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 @@ -1737,7 +1753,7 @@ def lotr_fences(self, blockid, data): return img -@material(blockid=[, ] data=[2, 3, 4, 5], transparent=True) +@material(blockid=[, , ] data=[2, 3, 4, 5], transparent=True) def mallornLadder(self, blockid, data): # first rotations if self.rotation == 1: @@ -1760,6 +1776,8 @@ def mallornLadder(self, blockid, data): 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 @@ -1973,7 +1991,7 @@ def lotr_beds(self, blockid, data): top = (top, increment) return self.build_full_block(top, None, None, left_face, right_face) -@material(blockid=[, , , , ], data=[0,1], transparent=True) +@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() @@ -1985,6 +2003,8 @@ def lotr_pressure_plates(self, blockid, data): 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 @@ -2009,7 +2029,7 @@ def lotr_pressure_plates(self, blockid, data): return img -@material(blockid=[, , , , ], data=range(16), transparent=True) +@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 @@ -2042,6 +2062,8 @@ def lotr_buttons(self, blockid, data): 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)) From cf5027d185b6698ef7cbd9e6942fd2dce95cc678 Mon Sep 17 00:00:00 2001 From: MggMuggins Date: Wed, 15 Feb 2017 16:28:46 -0600 Subject: [PATCH 07/12] Added a few more things and reorganized --- diffIds.txt => 31/diffIds.txt | 16 ++++++++-------- lotr_textures.py => 31/lotr_textures.py | 18 +++++++++++++++++- 2 files changed, 25 insertions(+), 9 deletions(-) rename diffIds.txt => 31/diffIds.txt (96%) rename lotr_textures.py => 31/lotr_textures.py (98%) diff --git a/diffIds.txt b/31/diffIds.txt similarity index 96% rename from diffIds.txt rename to 31/diffIds.txt index 17ad692..d9830cd 100644 --- a/diffIds.txt +++ b/31/diffIds.txt @@ -83,17 +83,17 @@ 665 stairsStoneBrickCracked > 666 slabSingleV > 667 slabDoubleV - > 668 stairsStone - > 669 stairsMordorRock - > 670 stairsGondorRock - > 671 stairsRohanRock - > 672 stairsBlueRock - > 673 stairsRedRock - > 674 stairsChalk +668 stairsStone +669 stairsMordorRock +670 stairsGondorRock +671 stairsRohanRock +672 stairsBlueRock +673 stairsRedRock +674 stairsChalk > 675 gateHighElven > 676 gateWoodElven > 677 gateNearHarad - > 678 clayTile +678 clayTile > 679 clayTileDyed > 680 slabClayTileSingle > 681 slabClayTileDouble diff --git a/lotr_textures.py b/31/lotr_textures.py similarity index 98% rename from lotr_textures.py rename to 31/lotr_textures.py index 3ec4c7c..5f96f7a 100644 --- a/lotr_textures.py +++ b/31/lotr_textures.py @@ -28,6 +28,7 @@ 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: ########################### @@ -909,7 +910,7 @@ def lotr_double_flowers(self, blockid, data): # Weirdoes ###################################################################### ################################################################################ -@material(blockid=[, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], data=range(128), transparent=True, solid=True, nospawn=True) +@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 @@ -1069,6 +1070,21 @@ def lotr_stairs(self, blockid, data): 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() outside_l = texture.copy() outside_r = texture.copy() From 14ea983e37e37169a9c9d66e2a697b7404ed966c Mon Sep 17 00:00:00 2001 From: MggMuggins Date: Wed, 15 Feb 2017 17:20:10 -0600 Subject: [PATCH 08/12] Updated Brick3, added Brick4 and a bunch of stairs --- 31/diffIds.txt | 42 +++++++++++----------- 31/lotr_textures.py | 86 +++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 105 insertions(+), 23 deletions(-) diff --git a/31/diffIds.txt b/31/diffIds.txt index d9830cd..35424f4 100644 --- a/31/diffIds.txt +++ b/31/diffIds.txt @@ -14,7 +14,7 @@ 596 alloyForge 597 stairsLime 598 tauredainCraftingTable - > 599 brick4 +599 brick4 > 600 wallStone4 > 601 slabSingle8 > 602 slabDouble8 @@ -101,29 +101,29 @@ > 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 +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 +706 stairsUtumnoBrickFire +707 stairsUtumnoBrickIce +708 stairsUtumnoBrickObsidian > 709 wallUtumno > 710 kebabStand > 711 kebabStandSand diff --git a/31/lotr_textures.py b/31/lotr_textures.py index 5f96f7a..0c37954 100644 --- a/31/lotr_textures.py +++ b/31/lotr_textures.py @@ -303,7 +303,7 @@ def brick2_values(self, blockid, data): t = self.load_image_texture("assets/lotr/textures/blocks/brick2_galadhrimCarved.png") return self.build_block(t, t) -@material(blockid=, data=range(13), solid=True) +@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") @@ -331,6 +331,48 @@ def brick3_values(self, blockid, data): 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(6), solid=True) @@ -910,7 +952,7 @@ def lotr_double_flowers(self, blockid, data): # Weirdoes ###################################################################### ################################################################################ -@material(blockid=[, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], data=range(128), transparent=True, solid=True, nospawn=True) +@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 @@ -1085,6 +1127,46 @@ def lotr_stairs(self, blockid, data): 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() outside_l = texture.copy() outside_r = texture.copy() From 2ac14a98d3868c112f2b2dc7a62acde59c5057cf Mon Sep 17 00:00:00 2001 From: MggMuggins Date: Wed, 15 Feb 2017 17:59:37 -0600 Subject: [PATCH 09/12] Added Brick5 and Brick6 --- 31/diffIds.txt | 4 ++-- 31/lotr_textures.py | 46 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 2 deletions(-) diff --git a/31/diffIds.txt b/31/diffIds.txt index 35424f4..0430b84 100644 --- a/31/diffIds.txt +++ b/31/diffIds.txt @@ -133,7 +133,7 @@ > 715 gateSilver > 716 gateGold > 717 gateMithril - > 718 brick5 +718 brick5 > 719 stairsMudBrick > 720 leek > 721 turnip @@ -235,7 +235,7 @@ > 817 stairsRhunBrickMossy > 818 stairsRhunBrickCracked > 819 stairsRhunBrickFlowers - > 820 brick6 +820 brick6 > 821 rhunCraftingTable > 822 stairsRhunBrickRed > 823 stairsRedwood diff --git a/31/lotr_textures.py b/31/lotr_textures.py index 0c37954..9d99e1f 100644 --- a/31/lotr_textures.py +++ b/31/lotr_textures.py @@ -375,6 +375,52 @@ def brick4_values(self, blockid, data): 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): t = self.load_image_texture("assets/lotr/textures/blocks/utumnoBrick_fire.png") From b392714630022bb8f8617ef5440f615688384516 Mon Sep 17 00:00:00 2001 From: MggMuggins Date: Wed, 15 Feb 2017 22:19:57 -0600 Subject: [PATCH 10/12] Added some Pillars, ad all Beams --- 31/diffIds.txt | 28 ++--- 31/lotr_textures.py | 271 ++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 266 insertions(+), 33 deletions(-) diff --git a/31/diffIds.txt b/31/diffIds.txt index 0430b84..e567036 100644 --- a/31/diffIds.txt +++ b/31/diffIds.txt @@ -25,7 +25,7 @@ 607 stairsTauredainBrickObsidian 608 obsidianGravel > 609 tauredainDartTrap - > 610 wood6 +610 wood6 > 611 leaves6 > 612 sapling6 > 613 woodSlabSingle4 @@ -41,14 +41,14 @@ 623 redSandstone 624 stairsRedSandstone 625 stairsDwarvenBrickCracked - > 626 pillar2 +626 pillar2 627 hithlainLadder > 628 reeds 629 stairsReed 630 tauredainDoubleTorch - > 631 woodBeamV1 +631 woodBeamV1 632 reedBars - > 633 woodBeamV2 +633 woodBeamV2 > 634 woodBeam1 > 635 tauredainDartTrapGold > 636 weaponRack @@ -58,12 +58,12 @@ 640 dirtPath 641 stairsWillow 642 willowVines - > 643 woodBeam2 - > 644 woodBeamFruit - > 645 woodBeam3 - > 646 woodBeam4 - > 647 woodBeam5 - > 648 woodBeam6 +643 woodBeam2 +644 woodBeamFruit +645 woodBeam3 +646 woodBeam4 +647 woodBeam5 +648 woodBeam6 649 woodBeamRotten > 650 gateWooden > 651 gateIronBars @@ -160,10 +160,10 @@ > 742 stairsDorwinionBrickMossy > 743 stairsDorwinionBrickCracked > 744 stairsDorwinionBrickFlowers - > 745 wood7 +745 wood7 > 746 leaves7 > 747 sapling7 - > 748 woodBeam7 +748 woodBeam7 > 749 stairsAspen > 750 mirkVines > 751 stairsGreenOak @@ -177,14 +177,14 @@ > 759 slabDoubleGravel > 760 morgulFlower > 761 blackroot - > 762 wood8 +762 wood8 > 763 leaves8 > 764 sapling8 > 765 planks3 > 766 fence3 > 767 woodSlabSingle5 > 768 woodSlabDouble5 - > 769 woodBeam8 +769 woodBeam8 > 770 stairsPlum > 771 fallenLeavesLOTR3 > 772 stairsGondorBrickRustic diff --git a/31/lotr_textures.py b/31/lotr_textures.py index 9d99e1f..9d8891f 100644 --- a/31/lotr_textures.py +++ b/31/lotr_textures.py @@ -557,7 +557,7 @@ def orcBomb(self, blockid, data): # Opaque bi-texture full blocks with orientation: ############################## ################################################################################ -@material(blockid=[, , , , , , , ], data=range(16), solid=True) +@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 @@ -627,6 +627,51 @@ def lotr_wood(self, blockid, data): 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") @@ -644,9 +689,7 @@ def lotr_wood(self, blockid, data): 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") - 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") + # choose orientation and paste textures if wood_orientation == 0: return self.build_block(top, side) @@ -655,51 +698,241 @@ def lotr_wood(self, blockid, data): 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: + 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: + 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: + 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: + 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: + 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: + 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: + 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: + 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: + 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: + 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: + 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: + 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: + 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") @@ -794,7 +1027,7 @@ def berryBush(self, blockid, data): # Transparent single texture sprites: ########################################## ################################################################################ -@material(blockid=[,,,,,,], data=range(16), transparent=True) +@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") @@ -1565,7 +1798,7 @@ def lotr_slabs(self, blockid, data): return img -@material(blockid=[, , , ], data=range(32), transparent=True, nospawn=True) +@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 == : From d135d769c86e4dcb66796df45b131ae3672b8d55 Mon Sep 17 00:00:00 2001 From: MggMuggins Date: Thu, 16 Feb 2017 22:54:24 -0600 Subject: [PATCH 11/12] Clay Tiles and a few stairs --- 31/diffIds.txt | 16 ++-- 31/lotr_textures.py | 185 +++++++++++++++++++++++++++----------------- 2 files changed, 124 insertions(+), 77 deletions(-) diff --git a/31/diffIds.txt b/31/diffIds.txt index e567036..1416d9e 100644 --- a/31/diffIds.txt +++ b/31/diffIds.txt @@ -49,7 +49,7 @@ 631 woodBeamV1 632 reedBars 633 woodBeamV2 - > 634 woodBeam1 +634 woodBeam1 > 635 tauredainDartTrapGold > 636 weaponRack > 637 cornStalk @@ -94,7 +94,7 @@ > 676 gateWoodElven > 677 gateNearHarad 678 clayTile - > 679 clayTileDyed +679 clayTileDyed > 680 slabClayTileSingle > 681 slabClayTileDouble > 682 slabClayTileDyedSingle @@ -134,15 +134,15 @@ > 716 gateGold > 717 gateMithril 718 brick5 - > 719 stairsMudBrick +719 stairsMudBrick > 720 leek > 721 turnip - > 722 stairsDaleBrick - > 723 stairsDorwinionBrick +722 stairsDaleBrick +723 stairsDorwinionBrick > 724 daleCraftingTable > 725 dorwinionCraftingTable - > 726 stairsCypress - > 727 stairsOlive +726 stairsCypress +727 stairsOlive > 728 slabSingle10 > 729 slabDouble10 > 730 hobbitCraftingTable @@ -245,4 +245,4 @@ > 827 gateRhun > 828 yam > 829 kebabBlock - > 830 stairsPomegranate + > 830 stairsPomegranate diff --git a/31/lotr_textures.py b/31/lotr_textures.py index 9d8891f..a1384a3 100644 --- a/31/lotr_textures.py +++ b/31/lotr_textures.py @@ -52,7 +52,7 @@ def rock_values(self, blockid, data): 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) + 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) @@ -96,7 +96,7 @@ def oreStorage_values(self, blockid, data): 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 + 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 @@ -104,7 +104,7 @@ def oreStorage_values(self, blockid, data): 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 + 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) @@ -121,7 +121,7 @@ def guldurilBrick_values(self, blockid, data): 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 + 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) @@ -147,7 +147,7 @@ def lotr_leaves(self, blockid, data): 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 + 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 @@ -156,7 +156,7 @@ def lotr_leaves(self, blockid, data): 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 + 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 @@ -165,10 +165,10 @@ def lotr_leaves(self, blockid, data): 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 + 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 + 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 @@ -177,7 +177,7 @@ def lotr_leaves(self, blockid, data): 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 + 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) @@ -299,7 +299,7 @@ def brick2_values(self, blockid, data): 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 + elif data == 15: # Carved Galadhrim Brick t = self.load_image_texture("assets/lotr/textures/blocks/brick2_galadhrimCarved.png") return self.build_block(t, t) @@ -329,7 +329,7 @@ def brick3_values(self, blockid, data): 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 + 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") @@ -423,19 +423,56 @@ def brick4_values(self, blockid, data): @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: + if data == 1: # Burning Utumno Brick t = self.load_image_texture("assets/lotr/textures/blocks/utumnoBrick_burning.png") - elif data == 2: + elif data == 2: # Ice Utumno Brick t = self.load_image_texture("assets/lotr/textures/blocks/utumnoBrick_ice.png") - elif data == 3: + elif data == 3: # GLowing Ice Utumno Brick t = self.load_image_texture("assets/lotr/textures/blocks/utumnoBrick_iceGlowing.png") - elif data == 4: + elif data == 4: # Obsidian Utumno Brick t = self.load_image_texture("assets/lotr/textures/blocks/utumnoBrick_obsidian.png") - elif data == 5: + 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: ############################################### ################################################################################ @@ -686,10 +723,10 @@ def lotr_wood(self, blockid, data): 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: # + 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) @@ -1231,7 +1268,7 @@ def lotr_double_flowers(self, blockid, data): # Weirdoes ###################################################################### ################################################################################ -@material(blockid=[, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], data=range(128), transparent=True, solid=True, nospawn=True) +@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 @@ -1446,6 +1483,16 @@ def lotr_stairs(self, blockid, data): 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() @@ -1564,7 +1611,7 @@ def lotr_bars(self, blockid, data): 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, + # 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 @@ -1573,7 +1620,7 @@ def lotr_bars(self, blockid, data): 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 + 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 @@ -1764,38 +1811,38 @@ def lotr_slabs(self, blockid, data): 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) @@ -1916,7 +1963,7 @@ def lotr_walls(self, blockid, data): 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)) @@ -1970,12 +2017,12 @@ def lotr_walls(self, blockid, data): 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, + # 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) @@ -1988,12 +2035,12 @@ def lotr_walls(self, blockid, data): 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 + 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) @@ -2077,7 +2124,7 @@ def lotr_fences(self, blockid, data): 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)) @@ -2089,7 +2136,7 @@ def lotr_fences(self, blockid, data): # 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) @@ -2104,30 +2151,30 @@ def lotr_fences(self, blockid, data): 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 + # 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, + # 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 + 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) @@ -2157,7 +2204,7 @@ def mallornLadder(self, blockid, data): 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 + # 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) @@ -2193,7 +2240,7 @@ def lotr_torches(self, blockid, data): 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") @@ -2207,47 +2254,47 @@ def lotr_torches(self, blockid, data): # 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) @@ -2269,7 +2316,7 @@ def lotr_beds(self, blockid, data): 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" @@ -2346,7 +2393,7 @@ def lotr_beds(self, blockid, data): 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 @@ -2364,7 +2411,7 @@ def lotr_beds(self, blockid, data): 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) @@ -2382,28 +2429,28 @@ def lotr_pressure_plates(self, blockid, data): 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 + + # 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) @@ -2451,7 +2498,7 @@ def lotr_buttons(self, blockid, data): 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 @@ -2464,7 +2511,7 @@ def lotr_buttons(self, blockid, data): 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 @@ -2475,7 +2522,7 @@ def lotr_buttons(self, blockid, data): 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 From 9a0264545f1e2f5481178ca4bbbc069c1e111da8 Mon Sep 17 00:00:00 2001 From: MggMuggins Date: Fri, 17 Feb 2017 20:24:11 -0600 Subject: [PATCH 12/12] Mini Commit --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index c4467f6..efb1730 100644 --- a/README.md +++ b/README.md @@ -28,14 +28,14 @@ After that, copy the overviewer_textures-1.7.10-with-lotr.jar at the place you p 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" @@ -68,7 +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.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,