From 7013cffeaa18a50c55ee4374888c9d6ff1dac857 Mon Sep 17 00:00:00 2001 From: Electroblob77 <35599699+Electroblob77@users.noreply.github.com> Date: Tue, 7 Jul 2020 00:19:36 +0100 Subject: [PATCH] Allow scrolls to be placed in bookshelves and add in-world textures for them --- .../wizardry/block/BlockBookshelf.java | 28 +++++++++++++----- .../inventory/ContainerBookshelf.java | 20 +++++++++++-- .../textures/blocks/scrolls_blue.png | Bin 0 -> 1937 bytes .../textures/blocks/scrolls_purple.png | Bin 0 -> 1940 bytes .../textures/blocks/scrolls_red.png | Bin 0 -> 1891 bytes .../textures/blocks/scrolls_wooden.png | Bin 0 -> 1866 bytes 6 files changed, 38 insertions(+), 10 deletions(-) create mode 100644 src/main/resources/assets/ebwizardry/textures/blocks/scrolls_blue.png create mode 100644 src/main/resources/assets/ebwizardry/textures/blocks/scrolls_purple.png create mode 100644 src/main/resources/assets/ebwizardry/textures/blocks/scrolls_red.png create mode 100644 src/main/resources/assets/ebwizardry/textures/blocks/scrolls_wooden.png diff --git a/src/main/java/electroblob/wizardry/block/BlockBookshelf.java b/src/main/java/electroblob/wizardry/block/BlockBookshelf.java index 041e2273..2e926fc2 100644 --- a/src/main/java/electroblob/wizardry/block/BlockBookshelf.java +++ b/src/main/java/electroblob/wizardry/block/BlockBookshelf.java @@ -237,14 +237,28 @@ public class BlockBookshelf extends BlockHorizontal implements ITileEntityProvid public static void registerStandardBookModelTextures(){ // Vanilla Minecraft books // Regular brown books are the default so they're registered first - registerBookModelTexture(() -> Items.BOOK, new ResourceLocation(Wizardry.MODID, "blocks/books_brown")); - registerBookModelTexture(() -> Items.WRITABLE_BOOK, new ResourceLocation(Wizardry.MODID, "blocks/books_brown")); - registerBookModelTexture(() -> Items.WRITTEN_BOOK, new ResourceLocation(Wizardry.MODID, "blocks/books_brown")); - registerBookModelTexture(() -> Items.ENCHANTED_BOOK, new ResourceLocation(Wizardry.MODID, "blocks/books_enchanted")); + registerBookModelTexture(() -> Items.BOOK, new ResourceLocation(Wizardry.MODID, "blocks/books_brown")); + registerBookModelTexture(() -> Items.WRITABLE_BOOK, new ResourceLocation(Wizardry.MODID, "blocks/books_brown")); + registerBookModelTexture(() -> Items.WRITTEN_BOOK, new ResourceLocation(Wizardry.MODID, "blocks/books_brown")); + registerBookModelTexture(() -> Items.ENCHANTED_BOOK, new ResourceLocation(Wizardry.MODID, "blocks/books_enchanted")); // Wizardry books - registerBookModelTexture(() -> WizardryItems.spell_book, new ResourceLocation(Wizardry.MODID, "blocks/books_red")); - registerBookModelTexture(() -> WizardryItems.wizard_handbook, new ResourceLocation(Wizardry.MODID, "blocks/books_blue")); - registerBookModelTexture(() -> WizardryItems.arcane_tome, new ResourceLocation(Wizardry.MODID, "blocks/books_purple")); + registerBookModelTexture(() -> WizardryItems.spell_book, new ResourceLocation(Wizardry.MODID, "blocks/books_red")); + registerBookModelTexture(() -> WizardryItems.wizard_handbook, new ResourceLocation(Wizardry.MODID, "blocks/books_blue")); + registerBookModelTexture(() -> WizardryItems.arcane_tome, new ResourceLocation(Wizardry.MODID, "blocks/books_purple")); + registerBookModelTexture(() -> WizardryItems.scroll, new ResourceLocation(Wizardry.MODID, "blocks/scrolls_blue")); + registerBookModelTexture(() -> WizardryItems.blank_scroll, new ResourceLocation(Wizardry.MODID, "blocks/scrolls_blue")); + registerBookModelTexture(() -> WizardryItems.identification_scroll, new ResourceLocation(Wizardry.MODID, "blocks/scrolls_purple")); + registerBookModelTexture(() -> WizardryItems.armour_upgrade, new ResourceLocation(Wizardry.MODID, "blocks/scrolls_red")); + // Can't use the map in WandHelper because this is called from preInit (addons will have to add theirs manually) + registerBookModelTexture(() -> WizardryItems.storage_upgrade, new ResourceLocation(Wizardry.MODID, "blocks/scrolls_wooden")); + registerBookModelTexture(() -> WizardryItems.siphon_upgrade, new ResourceLocation(Wizardry.MODID, "blocks/scrolls_wooden")); + registerBookModelTexture(() -> WizardryItems.condenser_upgrade, new ResourceLocation(Wizardry.MODID, "blocks/scrolls_wooden")); + registerBookModelTexture(() -> WizardryItems.range_upgrade, new ResourceLocation(Wizardry.MODID, "blocks/scrolls_wooden")); + registerBookModelTexture(() -> WizardryItems.duration_upgrade, new ResourceLocation(Wizardry.MODID, "blocks/scrolls_wooden")); + registerBookModelTexture(() -> WizardryItems.cooldown_upgrade, new ResourceLocation(Wizardry.MODID, "blocks/scrolls_wooden")); + registerBookModelTexture(() -> WizardryItems.blast_upgrade, new ResourceLocation(Wizardry.MODID, "blocks/scrolls_wooden")); + registerBookModelTexture(() -> WizardryItems.attunement_upgrade, new ResourceLocation(Wizardry.MODID, "blocks/scrolls_wooden")); + registerBookModelTexture(() -> WizardryItems.melee_upgrade, new ResourceLocation(Wizardry.MODID, "blocks/scrolls_wooden")); } /** diff --git a/src/main/java/electroblob/wizardry/inventory/ContainerBookshelf.java b/src/main/java/electroblob/wizardry/inventory/ContainerBookshelf.java index 53406690..7e472efa 100644 --- a/src/main/java/electroblob/wizardry/inventory/ContainerBookshelf.java +++ b/src/main/java/electroblob/wizardry/inventory/ContainerBookshelf.java @@ -122,13 +122,27 @@ public class ContainerBookshelf extends Container { /** Called from {@link Wizardry#init(FMLInitializationEvent)} to register the default book items. */ public static void initDefaultBookItems(){ - registerBookItem(WizardryItems.spell_book); - registerBookItem(WizardryItems.arcane_tome); - registerBookItem(WizardryItems.wizard_handbook); registerBookItem(Items.BOOK); registerBookItem(Items.WRITTEN_BOOK); registerBookItem(Items.WRITABLE_BOOK); registerBookItem(Items.ENCHANTED_BOOK); + registerBookItem(WizardryItems.spell_book); + registerBookItem(WizardryItems.arcane_tome); + registerBookItem(WizardryItems.wizard_handbook); + registerBookItem(WizardryItems.scroll); + registerBookItem(WizardryItems.blank_scroll); + registerBookItem(WizardryItems.identification_scroll); + registerBookItem(WizardryItems.armour_upgrade); + // Not using the map in WandHelper for consistency with BlockBookshelf (again, addons must add theirs manually) + registerBookItem(WizardryItems.storage_upgrade); + registerBookItem(WizardryItems.siphon_upgrade); + registerBookItem(WizardryItems.condenser_upgrade); + registerBookItem(WizardryItems.range_upgrade); + registerBookItem(WizardryItems.duration_upgrade); + registerBookItem(WizardryItems.cooldown_upgrade); + registerBookItem(WizardryItems.blast_upgrade); + registerBookItem(WizardryItems.attunement_upgrade); + registerBookItem(WizardryItems.melee_upgrade); } public class SlotBookshelf extends Slot { diff --git a/src/main/resources/assets/ebwizardry/textures/blocks/scrolls_blue.png b/src/main/resources/assets/ebwizardry/textures/blocks/scrolls_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..15bacb255404371fd4eb35e88000d7cc48791ac3 GIT binary patch literal 1937 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 BTVwzL literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ebwizardry/textures/blocks/scrolls_wooden.png b/src/main/resources/assets/ebwizardry/textures/blocks/scrolls_wooden.png new file mode 100644 index 0000000000000000000000000000000000000000..3316a0f819ee2cf2e190183b73ab6b3195e3fad0 GIT binary patch literal 1866 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s-L#jd|N`ey06$*;-(=u~X z6-p`#QWa7wGSe6sDsHU}i`@2FgXd4W=w22T!;Ys6ZN*jWd;jRMS^K@KxxZOB`7{%+ ztEbu9{q?(lva=U&IQDaeVrxR-jweFtcUHu@&kNs_7x%r{HhCgqce3cY#;e z-v9pV!~8ETW{wM=T|mhWt8IpDE!C;7l|Gg6xK}?ldG>RYcvYp@a;?Mac}_`%yoa45 z|M%3-xo%KWkX9)4%v8_6QB1m<-77uL-rnx>ojL3BPs~@?`|btvPu@&p;i`QT#9I!T z?$cKPKVi1@65;K$p9<)mK3^ouxl>j>>+${H3-@jpjV)tTY?r+vd1_B{oaD_}o0-ma z?B8xR$@W}Juw!ReZArpp(K%Cv3=`fwd9lD}?kySZ&>b&!6dpMd6S+c)Lo`8U9m5O; zO}|$%swWk>HfV2ab~rU%-{kDF%yp9veQ?a$P|eYO@s47B!L0WhU+p+tQ@)-O{qyLc zNrmAAWus{e*j!e;U-E0_gU>a#Z0nd<{`zcII*@ZZg7Jg6fB#uk;f%&b$9Hh}e7wP} z;QHafVM!r{1m@1=4rWHPJz89}7)}+;JzB`9^TbxZVA9-%q=^TaZXBEA5j@pa-;hhO z;e!wl$4UncW}W9Y-~3CuY^Ut4c)pk4uIlT_=L(4iIxP}zu4e-mb=$Q`EIuZ(IWTZ} zT(euK?<`?;$D?04YkXz}osx7j4m&qv?!pPh50#FJ#yfSodTZ_6v@$66tLc@9t;=Td z+dX0E?=Lvw++XsGb&S%jX8#BFi%X7Bs-7UTE+#g$QWE;OCH{$*rdxu`LESrf^ zT_2rzFG-wN&6px=Z@`@NhNIzlBSUAR+>A)o=M@U(2Aew%a-A=@#9zQC)xqd^y`y$H z_ipy0dkZrDiQeI9c(A{5j^u?}=AGMj>}|g_F@5pm&I=13daM%Npl^D1jl=D&I(y^- z%;p~FU#roRz9nE?`%EVlQ~#wGBd#Wtd8A(5Zm~mUnf}}Q9WL>?yxOSTmb=~A zV4K|Qy$iy06b0%|I(c<0@Q>d2$oi>BwACxFZL_#8XzrEzJF{KNc(!0cp=U~EwT97G zY5B8HQ)0BY8gN~m^*-mr@k0+EUWi`*R^sgB-?5LFo(f#}^d;uoYd*33@=3p**9!M6 z4x6^|#DYiDn*S}hGijO4gV-0h_=_{_T6exHu%4y*`VjlvZE>sWR;ATMNY&lED4*j} zQ06IXmK4djYVXnXIF7=L$L%t)D}+Binipy7AdZ0UX3TR`Lw<{#AIf_ zb7XL>jFl9*a%hg&^<&c?o_uXRfB&*#t<%TZM9#K8?mfF*rp~xkBZuF}yfXPSJKwB+ zZojkt_FVrhS66Rx+OIsfUAtt*{S7y2A~SMspOLP4mpF0BmA?M&DxrE*|Mams%a(uDxled^{A4~d|Bp$$a-WVaZ{U~r z1-tHq?|RrF^vC#o^pvREp4Ylc-u>9;oc(#R*LV0FM zhJw4NZ$Nk>pEv^pW00qdV~EA+-bow1nGz+A)z6oaQTI@-+CIgZW#K>evrWFdm*Tn~ zBt`e~=3cvY>DK)Vw_;3GoTjW@#5cG6#?hOy^Es|RS^8qG-R0xo>-OCL{HNkb>|=`! zZxk8!ye*9aGGuHe>+9j8hC29{Nxi%X3 zGn7>SJ;8cxnbRC0`M3T>*0-}QBh*x9dm5*1@Tq>b{>4c{hILa;D<3&|_dZ8To;HKW zN-fRMx$y}%4{uf66{NQ#psUqp{aLkH(|TGmtc2s--rf28_3hy*!8F+`t5x;R^*vMO zVM}}Ro?&fS_?BC-g~g>(`&Ng0{}&9iw6M9s>yzHJPCDt-=}qY}FLnurnd=?$T