From eca14bce9b481f7eb02ba3172ec904583d47b3fb Mon Sep 17 00:00:00 2001 From: paulevsGitch Date: Mon, 7 Dec 2020 12:42:32 +0300 Subject: [PATCH] Gelatine, jelly, recipes --- .../ru/betterend/entity/EntityCubozoa.java | 17 +++++++++++++++-- .../ru/betterend/recipe/CraftingRecipes.java | 17 +++++++++++++++++ .../betterend/recipe/builders/GridRecipe.java | 5 +++++ .../ru/betterend/registry/EndEntities.java | 2 +- .../registry/EndEntitiesRenders.java | 2 +- .../java/ru/betterend/registry/EndItems.java | 5 ++++- src/main/java/ru/betterend/util/MHelper.java | 5 +++++ .../assets/betterend/lang/en_us.json | 6 +++++- .../assets/betterend/lang/ru_ru.json | 6 +++++- .../materialmaps/{entity => }/cubozoa.json | 0 .../betterend/textures/block/charnia_red.png | Bin 1764 -> 1983 bytes .../betterend/textures/item/gelatine.png | Bin 0 -> 343 bytes .../textures/item/shadow_berry_jelly.png | Bin 0 -> 349 bytes .../textures/item/sweet_berry_jelly.png | Bin 0 -> 365 bytes 14 files changed, 58 insertions(+), 7 deletions(-) rename src/main/resources/assets/betterend/materialmaps/{entity => }/cubozoa.json (100%) create mode 100644 src/main/resources/assets/betterend/textures/item/gelatine.png create mode 100644 src/main/resources/assets/betterend/textures/item/shadow_berry_jelly.png create mode 100644 src/main/resources/assets/betterend/textures/item/sweet_berry_jelly.png diff --git a/src/main/java/ru/betterend/entity/EntityCubozoa.java b/src/main/java/ru/betterend/entity/EntityCubozoa.java index b5e4b978..b7dbbc28 100644 --- a/src/main/java/ru/betterend/entity/EntityCubozoa.java +++ b/src/main/java/ru/betterend/entity/EntityCubozoa.java @@ -8,14 +8,17 @@ import net.minecraft.entity.EntityData; import net.minecraft.entity.EntityDimensions; import net.minecraft.entity.EntityPose; import net.minecraft.entity.EntityType; +import net.minecraft.entity.ItemEntity; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.SpawnReason; import net.minecraft.entity.attribute.DefaultAttributeContainer; import net.minecraft.entity.attribute.EntityAttributes; +import net.minecraft.entity.damage.DamageSource; import net.minecraft.entity.data.DataTracker; import net.minecraft.entity.data.TrackedData; import net.minecraft.entity.data.TrackedDataHandlerRegistry; import net.minecraft.entity.mob.WaterCreatureEntity; +import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundTag; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Box; @@ -23,6 +26,7 @@ import net.minecraft.world.LocalDifficulty; import net.minecraft.world.ServerWorldAccess; import net.minecraft.world.World; import ru.betterend.registry.EndBiomes; +import ru.betterend.registry.EndItems; import ru.betterend.util.MHelper; public class EntityCubozoa extends WaterCreatureEntity { @@ -122,9 +126,9 @@ public class EntityCubozoa extends WaterCreatureEntity { } moveTicks = 0; timer = MHelper.randRange(20, 40, random); - this.yaw = (float) Math.atan2(moveX, moveZ); + this.yaw = MHelper.radiandToDegrees((float) Math.atan2(moveX, moveZ)) - 90; this.bodyYaw = this.yaw; - this.pitch = (float) Math.asin(-moveY); + this.pitch = MHelper.radiandToDegrees((float) Math.asin(-moveY)); } moveX *= 0.98; moveY *= 0.98; @@ -132,4 +136,13 @@ public class EntityCubozoa extends WaterCreatureEntity { this.setVelocity(moveX, moveY, moveZ); moveTicks ++; } + + @Override + protected void dropLoot(DamageSource source, boolean causedByPlayer) { + int count = random.nextInt(3); + if (count > 0) { + ItemEntity drop = new ItemEntity(world, getX(), getY(), getZ(), new ItemStack(EndItems.GELATINE, count)); + this.world.spawnEntity(drop); + } + } } diff --git a/src/main/java/ru/betterend/recipe/CraftingRecipes.java b/src/main/java/ru/betterend/recipe/CraftingRecipes.java index c2beb4c1..623acfd7 100644 --- a/src/main/java/ru/betterend/recipe/CraftingRecipes.java +++ b/src/main/java/ru/betterend/recipe/CraftingRecipes.java @@ -3,7 +3,10 @@ package ru.betterend.recipe; import net.minecraft.block.Block; import net.minecraft.block.Blocks; import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; import net.minecraft.item.Items; +import net.minecraft.potion.PotionUtil; +import net.minecraft.potion.Potions; import ru.betterend.recipe.builders.GridRecipe; import ru.betterend.registry.EndBlocks; import ru.betterend.registry.EndItems; @@ -119,6 +122,20 @@ public class CraftingRecipes { GridRecipe.make("tail_moss_dye", Items.GRAY_DYE).setList("#").addMaterial('#', EndBlocks.TAIL_MOSS).build(); GridRecipe.make("petal_block", EndBlocks.HYDRALUX_PETAL_BLOCK).setShape("##", "##").addMaterial('#', EndItems.HYDRALUX_PETAL).build(); GridRecipe.make("petal_white_dye", Items.WHITE_DYE).setList("#").addMaterial('#', EndItems.HYDRALUX_PETAL).build(); + + GridRecipe.make("sweet_berry_jelly", EndItems.SWEET_BERRY_JELLY) + .setList("JWSB") + .addMaterial('J', EndItems.GELATINE) + .addMaterial('W', PotionUtil.setPotion(new ItemStack(Items.POTION), Potions.WATER)) + .addMaterial('S', Items.SUGAR).addMaterial('B', Items.SWEET_BERRIES) + .build(); + + GridRecipe.make("shadow_berry_jelly", EndItems.SHADOW_BERRY_JELLY) + .setList("JWSB").addMaterial('J', EndItems.GELATINE) + .addMaterial('W', PotionUtil.setPotion(new ItemStack(Items.POTION), Potions.WATER)) + .addMaterial('S', Items.SUGAR) + .addMaterial('B', EndItems.SHADOW_BERRY_COOKED) + .build(); } private static void registerLantern(String name, Block lantern, Block slab) { diff --git a/src/main/java/ru/betterend/recipe/builders/GridRecipe.java b/src/main/java/ru/betterend/recipe/builders/GridRecipe.java index 476f5561..605cd783 100644 --- a/src/main/java/ru/betterend/recipe/builders/GridRecipe.java +++ b/src/main/java/ru/betterend/recipe/builders/GridRecipe.java @@ -1,5 +1,6 @@ package ru.betterend.recipe.builders; +import java.util.Arrays; import java.util.Map; import com.google.common.collect.Maps; @@ -71,6 +72,10 @@ public class GridRecipe { return addMaterial(key, Ingredient.fromTag(value)); } + public GridRecipe addMaterial(char key, ItemStack... value) { + return addMaterial(key, Ingredient.ofStacks(Arrays.stream(value))); + } + public GridRecipe addMaterial(char key, ItemConvertible... values) { for (ItemConvertible item: values) { exist &= RecipeHelper.exists(item); diff --git a/src/main/java/ru/betterend/registry/EndEntities.java b/src/main/java/ru/betterend/registry/EndEntities.java index be100ee3..b62bc27b 100644 --- a/src/main/java/ru/betterend/registry/EndEntities.java +++ b/src/main/java/ru/betterend/registry/EndEntities.java @@ -12,10 +12,10 @@ import net.minecraft.entity.attribute.DefaultAttributeContainer.Builder; import net.minecraft.entity.mob.HostileEntity; import net.minecraft.util.registry.Registry; import ru.betterend.BetterEnd; +import ru.betterend.entity.EntityCubozoa; import ru.betterend.entity.EntityDragonfly; import ru.betterend.entity.EntityEndFish; import ru.betterend.entity.EntityEndSlime; -import ru.betterend.entity.EntityCubozoa; import ru.betterend.entity.EntityShadowWalker; import ru.betterend.util.MHelper; import ru.betterend.util.SpawnHelper; diff --git a/src/main/java/ru/betterend/registry/EndEntitiesRenders.java b/src/main/java/ru/betterend/registry/EndEntitiesRenders.java index d2f6dade..7c0b0ed5 100644 --- a/src/main/java/ru/betterend/registry/EndEntitiesRenders.java +++ b/src/main/java/ru/betterend/registry/EndEntitiesRenders.java @@ -6,10 +6,10 @@ import net.fabricmc.fabric.api.client.rendereregistry.v1.EntityRendererRegistry; import net.minecraft.client.render.entity.EntityRenderDispatcher; import net.minecraft.client.render.entity.MobEntityRenderer; import net.minecraft.entity.EntityType; +import ru.betterend.entity.render.RendererEntityCubozoa; import ru.betterend.entity.render.RendererEntityDragonfly; import ru.betterend.entity.render.RendererEntityEndFish; import ru.betterend.entity.render.RendererEntityEndSlime; -import ru.betterend.entity.render.RendererEntityCubozoa; import ru.betterend.entity.render.RendererEntityShadowWalker; public class EndEntitiesRenders { diff --git a/src/main/java/ru/betterend/registry/EndItems.java b/src/main/java/ru/betterend/registry/EndItems.java index ff06cfb9..ea73ccdd 100644 --- a/src/main/java/ru/betterend/registry/EndItems.java +++ b/src/main/java/ru/betterend/registry/EndItems.java @@ -65,6 +65,7 @@ public class EndItems { public final static Item GLOWING_BULB = registerItem("glowing_bulb"); public final static Item CRYSTALLINE_SULPHUR = registerItem("crystalline_sulphur"); public final static Item HYDRALUX_PETAL = registerItem("hydralux_petal"); + public final static Item GELATINE = registerItem("gelatine"); // Armor // public static final Item TERMINITE_HELMET = registerItem("terminite_helmet", new ArmorItem(EndArmorMaterial.TERMINITE, EquipmentSlot.HEAD, makeItemSettings())); @@ -104,6 +105,8 @@ public class EndItems { public final static Item END_FISH_RAW = registerFood("end_fish_raw", FoodComponents.SALMON); public final static Item END_FISH_COOKED = registerFood("end_fish_cooked", FoodComponents.COOKED_SALMON); public final static Item BUCKET_END_FISH = registerItem("bucket_end_fish", new FishBucketItem(EndEntities.END_FISH, Fluids.WATER, makeItemSettings().maxCount(1))); + public final static Item SWEET_BERRY_JELLY = registerFood("sweet_berry_jelly", 3, 0.75F); + public final static Item SHADOW_BERRY_JELLY = registerFood("shadow_berry_jelly", 4, 0.75F); // Other // public static final Item ETERNAL_CRYSTAL = registerItem("eternal_crystal", new EternalCrystal()); @@ -177,7 +180,7 @@ public class EndItems { } public static Item registerFood(String name, FoodComponent foodComponent) { - return registerItem(name, new Item(makeItemSettings().food(foodComponent))); + return registerItem(name, new PatternedItem(makeItemSettings().food(foodComponent))); } public static Settings makeItemSettings() { diff --git a/src/main/java/ru/betterend/util/MHelper.java b/src/main/java/ru/betterend/util/MHelper.java index cd39865b..5c6fc094 100644 --- a/src/main/java/ru/betterend/util/MHelper.java +++ b/src/main/java/ru/betterend/util/MHelper.java @@ -6,6 +6,7 @@ public class MHelper { public static final float PI2 = (float) (Math.PI * 2); private static final int ALPHA = 255 << 24; public static final Random RANDOM = new Random(); + private static final float RAD_TO_DEG = 57.295779513082320876798154814105F; public static int color(int r, int g, int b) { return ALPHA | (r << 16) | (g << 8) | b; @@ -242,4 +243,8 @@ public class MHelper { return values; } + + public static final float radiandToDegrees(float value) { + return value * RAD_TO_DEG; + } } diff --git a/src/main/resources/assets/betterend/lang/en_us.json b/src/main/resources/assets/betterend/lang/en_us.json index 1dae6876..6312ed4a 100644 --- a/src/main/resources/assets/betterend/lang/en_us.json +++ b/src/main/resources/assets/betterend/lang/en_us.json @@ -424,5 +424,9 @@ "block.betterend.charnia_red": "Red Charnia", "entity.betterend.cubozoa": "Cubozoa", - "item.betterend.spawn_egg_cubozoa": "Cubozoa Spawn Egg" + "item.betterend.spawn_egg_cubozoa": "Cubozoa Spawn Egg", + + "item.betterend.gelatine": "Gelatine", + "item.betterend.sweet_berry_jelly": "Sweet Berry Jelly", + "item.betterend.shadow_berry_jelly": "Shadow Berry Jelly" } \ No newline at end of file diff --git a/src/main/resources/assets/betterend/lang/ru_ru.json b/src/main/resources/assets/betterend/lang/ru_ru.json index 27bf1604..35f48b84 100644 --- a/src/main/resources/assets/betterend/lang/ru_ru.json +++ b/src/main/resources/assets/betterend/lang/ru_ru.json @@ -426,5 +426,9 @@ "block.betterend.charnia_red": "Красная чарния", "entity.betterend.cubozoa": "Кубомедуза", - "item.betterend.spawn_egg_cubozoa": "Яйцо призыва кубомедузы" + "item.betterend.spawn_egg_cubozoa": "Яйцо призыва кубомедузы", + + "item.betterend.gelatine": "Желатин", + "item.betterend.sweet_berry_jelly": "Желе из сладких ягод", + "item.betterend.shadow_berry_jelly": "Желе из теневой ягоды" } \ No newline at end of file diff --git a/src/main/resources/assets/betterend/materialmaps/entity/cubozoa.json b/src/main/resources/assets/betterend/materialmaps/cubozoa.json similarity index 100% rename from src/main/resources/assets/betterend/materialmaps/entity/cubozoa.json rename to src/main/resources/assets/betterend/materialmaps/cubozoa.json diff --git a/src/main/resources/assets/betterend/textures/block/charnia_red.png b/src/main/resources/assets/betterend/textures/block/charnia_red.png index 70f40cc64d57dc721871339a7e6fb595fcad2269..b070dab614e189eeccf182054053ae533309ddea 100644 GIT binary patch delta 689 zcmaFDyPto81rzJxjaL0kT;?H$MplNVR;K2YFEc43bN?|}s3aLBr6eVqn&=vt8Yb$R zSeRJqT3VPS>ROtnC8e2K8k-v?8*Ywbu4Ak(N=dWI$y6vVaV;ycN=z=v%+Iq`Do!j* zO;LghX66-_B<3Zjdb-#uRpb`vWoD*W5o10~e|bhK&`2W#BLiJSBV7Z8!?g{JttQW8 zu@;0{l$?>6m!6tptE4~qGD}?j3aQPe3=E8mJY5_^EP9ttI<4>QC~@@s8K=(hkgcnt zPJQKZaysOuqob>%dQD6&TYBSXevgj*4sVV&=?c!)(+Sx#%Vcfbmc3Q0Z{5yHIn#3| zVB(fkv-@YJ|D0=if9G_AV;|htAc~= zJQA0@tQm$3bc25vTS8oRAq>TkV%Rk-rr>FZM2S%uQI4wmayFtE%x zCB>0tSaNf&kidcyt{wcvr|mb-dhzC;jAP5jbvy>jpS$d~hksk8t;1n^T(Y*_ef@6U z(rH?fKfflo7~Ye9T(EZOqz{4)N1xx|_~AM2yl#T=oY4LK9O3t?x%VXtd1kQM{<{6& zzPv~y`W#kDLA5up1zq@EnXfH2 b@w**Euo1_9w}@yC1|aZs^>bP0l+XkKaf%w& delta 481 zcmV<70UrLp59AGyI06Lou{w_elbiwC=qPbV%q{oYk*eyOP zWv=AAp%O3SQTUxM6v`#8NJYg&Q+Tq;c#Z2jXRvkygb8gv*SLOg={h-Frpw=c!Oh5MmU{>)N4X;%zuw}l~gkK zA@mT#%Gs%4bPPzi$)q9HYAC3x4B1oyxnnBvF82hhr60v=g)8~1R01w}i1&q*e7j!p zE6`nb{Q*`ff5K$8U_Tb--8q;FGNSr67_b!y@z`;2kufzUsIk@1dE?w~*xZbg>DQib zqHXMGcA@S?{ohDWqaTveS2nff-Seel>nKz8ta_MKOSEbCut)VUsg{)XbnZHxs8{^~ XssQ@N2~B%m00000NkvXXu0mjf1PA3Z diff --git a/src/main/resources/assets/betterend/textures/item/gelatine.png b/src/main/resources/assets/betterend/textures/item/gelatine.png new file mode 100644 index 0000000000000000000000000000000000000000..f14e569287df6536630daf73b986e9a92f7f3e13 GIT binary patch literal 343 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1quc!8e{Rjv*HQ$$$R;w`W#u;Pjfz%XW`pO=7@` zIUPzj>dWnvr*twJ@GxZZl^CT@FbYYmDEr5Eczd|KWLezK#>)aC%nq~emYPWHIP&A* zpJes-jhTXVnQg)6^^DK#vSvRluqLtK`y=nRufP3__Wb!Z>!J8&4d&?!7!LD?F|N?j zIw09$FL6_n<>wZOf15arYLWz4yE8pl5?LhNBwDYE)-0?9<_KtQ$GGoe#r~l6+Y@692)U33g?eO38<_Er04USN`xH3P==bc*M%O zbI<>WWr{r7{A&|`{QJol!IRRUGhOEJRrBwXar^G^iv9lg*XmBTgx-##w>mTaeR*s* zqm6MwAa zY=RyB{@?ob`M>v*`2O-IH5+vN-TzNx#@qvEc#fT@GKe)O7N1e|=e_cbHb#N_lfqd~ zIWz2F+{|M7?{<`mk&K<;{D&8wA5JiI&9h~bj7@I4^)JCdUiyF(+a{ks2|YXxe;&_& zZ*b=SXLi-J0G^8P?*wmz30w;+X1l%b%?*|nI%N#z3UB}N9+Ne{);RaPsxFskD?@-! z!e&{P4bNDg>|oDiYfRO@CYaB_qac0d&qvE^A(j_*PHbdkczwL$=*Op(vA`f=@O1Ta JS?83{1OP^Fj<5g# literal 0 HcmV?d00001