From 500643719f53e8aac4d47e643656f630950ca095 Mon Sep 17 00:00:00 2001 From: Timo Ley Date: Wed, 1 Feb 2023 21:42:01 +0100 Subject: [PATCH] feat: add arcane wood --- build.gradle | 2 +- .../anvilcraft/classiccasting/CCBlocks.java | 4 ++ .../anvilcraft/classiccasting/Recipes.java | 31 ++++++++++++++-- .../anvilcraft/classiccasting/Research.java | 2 + .../blocks/BlockArcaneWood.java | 35 ++++++++++++++++++ .../assets/classiccasting/lang/en_US.lang | 1 + .../textures/blocks/arcanewoodblock.png | Bin 0 -> 702 bytes 7 files changed, 71 insertions(+), 4 deletions(-) create mode 100644 src/main/java/net/anvilcraft/classiccasting/blocks/BlockArcaneWood.java create mode 100644 src/main/resources/assets/classiccasting/textures/blocks/arcanewoodblock.png diff --git a/build.gradle b/build.gradle index 93ccdeb..287014e 100644 --- a/build.gradle +++ b/build.gradle @@ -23,7 +23,7 @@ apply plugin: 'maven-publish' sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 -version = "1.1.0" +version = "1.2.0" group = "net.anvilcraft" archivesBaseName = "classic-casting" diff --git a/src/main/java/net/anvilcraft/classiccasting/CCBlocks.java b/src/main/java/net/anvilcraft/classiccasting/CCBlocks.java index a9b5a4f..111bdcf 100644 --- a/src/main/java/net/anvilcraft/classiccasting/CCBlocks.java +++ b/src/main/java/net/anvilcraft/classiccasting/CCBlocks.java @@ -2,6 +2,7 @@ package net.anvilcraft.classiccasting; import cpw.mods.fml.common.registry.GameRegistry; import net.anvilcraft.classiccasting.blocks.BlockAlembic; +import net.anvilcraft.classiccasting.blocks.BlockArcaneWood; import net.anvilcraft.classiccasting.blocks.BlockCrystal; import net.anvilcraft.classiccasting.blocks.BlockInfusionWorkbench; import net.anvilcraft.classiccasting.items.ItemBlockAlembic; @@ -12,14 +13,17 @@ public class CCBlocks { public static Block alembic; public static Block crystal; public static Block infusionWorkbench; + public static Block blockArcaneWood; public static void init() { alembic = new BlockAlembic(); crystal = new BlockCrystal(); infusionWorkbench = new BlockInfusionWorkbench(); + blockArcaneWood = new BlockArcaneWood(); GameRegistry.registerBlock(alembic, ItemBlockAlembic.class, "alembic"); GameRegistry.registerBlock(crystal, ItemBlockCrystal.class, "crystal"); GameRegistry.registerBlock(infusionWorkbench, "infusionWorkbench"); + GameRegistry.registerBlock(blockArcaneWood, "blockArcaneWood"); } } diff --git a/src/main/java/net/anvilcraft/classiccasting/Recipes.java b/src/main/java/net/anvilcraft/classiccasting/Recipes.java index 4950b02..2217c90 100644 --- a/src/main/java/net/anvilcraft/classiccasting/Recipes.java +++ b/src/main/java/net/anvilcraft/classiccasting/Recipes.java @@ -45,6 +45,33 @@ public class Recipes { ) ); + Research.arcaneRecipes.put( + "ArcaneWood1", + ThaumcraftApi.addArcaneCraftingRecipe( + "MAGBLOCKS", + new ItemStack(CCBlocks.blockArcaneWood, 2), + new AspectList().add(Aspects.VIS, 20), + "WWW", + "WWW", + "WWW", + 'W', + "logWood" + ) + ); + + Research.arcaneRecipes.put( + "ArcaneWood2", + ThaumcraftApi.addArcaneCraftingRecipe( + "MAGBLOCKS", + new ItemStack(CCBlocks.blockArcaneWood, 4), + new AspectList().add(Aspects.VIS, 20), + "WW", + "WW", + 'W', + new ItemStack(ConfigBlocks.blockMagicalLog, 1, 0) + ) + ); + Research.arcaneRecipes.put( "AuraCompass", ThaumcraftApi.addArcaneCraftingRecipe( @@ -100,9 +127,7 @@ public class Recipes { 'C', new ItemStack(ConfigItems.itemShard, 1, 8), 'W', - // TODO: this is arcane wood, but that doesn't really exist yet. - // Just pretend the planks are magical - new ItemStack(Blocks.planks, 1, 0) + CCBlocks.blockArcaneWood ) ); diff --git a/src/main/java/net/anvilcraft/classiccasting/Research.java b/src/main/java/net/anvilcraft/classiccasting/Research.java index 170a7b5..5e81d43 100644 --- a/src/main/java/net/anvilcraft/classiccasting/Research.java +++ b/src/main/java/net/anvilcraft/classiccasting/Research.java @@ -115,6 +115,8 @@ public class Research { .setPages( new ResearchPage("classiccasting.research_page.MAGBLOCKS.1"), new ResearchPage(arcaneRecipes.get("ArcaneStone")), + new ResearchPage(arcaneRecipes.get("ArcaneWood1")), + new ResearchPage(arcaneRecipes.get("ArcaneWood2")), new ResearchPage("classiccasting.research_page.MAGBLOCKS.2"), new ResearchPage(infusionStructure), new ResearchPage("classiccasting.research_page.MAGBLOCKS.3") diff --git a/src/main/java/net/anvilcraft/classiccasting/blocks/BlockArcaneWood.java b/src/main/java/net/anvilcraft/classiccasting/blocks/BlockArcaneWood.java new file mode 100644 index 0000000..cd615ba --- /dev/null +++ b/src/main/java/net/anvilcraft/classiccasting/blocks/BlockArcaneWood.java @@ -0,0 +1,35 @@ +package net.anvilcraft.classiccasting.blocks; + +import net.anvilcraft.classiccasting.ClassicCastingTab; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.world.IBlockAccess; + +public class BlockArcaneWood extends Block { + + public BlockArcaneWood() { + super(Material.wood); + this.setHardness(2.0f); + this.setResistance(10.0f); + this.setStepSound(soundTypeWood); + this.setBlockName("classiccasting:blockArcaneWood"); + this.setCreativeTab(ClassicCastingTab.INSTANCE); + } + + @Override + public void registerBlockIcons(IIconRegister register) { + this.blockIcon = register.registerIcon("classiccasting:arcanewoodblock"); + } + + @Override + public int damageDropped(int md) { + return md; + } + + @Override + public boolean isBeaconBase(IBlockAccess arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6) { + return true; + } + +} diff --git a/src/main/resources/assets/classiccasting/lang/en_US.lang b/src/main/resources/assets/classiccasting/lang/en_US.lang index 4479fa6..4fb9968 100644 --- a/src/main/resources/assets/classiccasting/lang/en_US.lang +++ b/src/main/resources/assets/classiccasting/lang/en_US.lang @@ -22,6 +22,7 @@ tile.classiccasting:alembic.name=Arcane Alembic tile.classiccasting:crystal.0.name=Crystal Core tile.classiccasting:crystal.1.name=Crystal Capacitor tile.classiccasting:infusionWorkbench.name=Arcane Stone +tile.classiccasting:blockArcaneWood.name=Arcane Wood Block # ---- RESEARCH ---- tc.research_category.CLASSICCASTING=Classic Casting diff --git a/src/main/resources/assets/classiccasting/textures/blocks/arcanewoodblock.png b/src/main/resources/assets/classiccasting/textures/blocks/arcanewoodblock.png new file mode 100644 index 0000000000000000000000000000000000000000..d638b06de77aacd9ad26911dbeee85af10e1850e GIT binary patch literal 702 zcmV;v0zv(WP)WdKcYZXhx>AWdO%ATls9GaxZEIx;vqFf<@5FfuSO3Qqk`00007bV*G` z2i*f13>*)47k)ed000SaNLh0L03N{r03N{s!)a7g00004XF*Lt006O%3;baP0006N zNklc-33?v~+)@@0)b96e>xBfwYA^-mi?POdhu_8;>Wl>7>3d|ITUHwdem~wkMQIo;>uRjy$h-(45b1`SQlzXC$Ispq@=(Uc8g0$8n2|wF z5)C&UkVhn6KRPSiK97|(4(O*{HqLrp^)5?53j=@AXkeuf%`huR&sBP?dnpA;61yUT z0BzPX3G3_7Tqoc_J74;ypQcRQLU`m=d19@ryB?f* z(c^7_TUzvb(&I_F@RJK)O+XN-9)({`M{B6zNr zNe@M8ttIkS<46jHkTq5*wJ%c8Fkkfj{dPgT%3~HyvVchEU<`vG-&4kLJt&cq?&_uB ztni7SuyOB)F$k8l31EaZTn83|O#$%ZY5Q0vN_mK2fNei9L$Y>K9`6NJ@qTYQ-;-Z{ zv3MdvZJsh;uq&MvAjmk}oa*jSq(C4|@~(&L$iH=qpT{zLJ$DaP!X558na1I%Zl8BK zICVFoJ@$M&Uw|m{_|Hds*v9BUo@By%Gi{WYM$z%y?((EaL!3K!#p1SUbgG9u3O2s~ z*7N`?RC3ZCKd<|3oMC;<^=@Ibj+II2cH0<`#qCn9!ui-{zNr-Qpi)qoJ k&r<>#tN(t;+n&ex54Ukf@XrMWeE