From a37b9d4298a8cf0b0de9ba55f4fe0b8184a827ef Mon Sep 17 00:00:00 2001 From: Maxx <53229958+MBatt1@users.noreply.github.com> Date: Wed, 1 May 2024 10:42:29 -0500 Subject: [PATCH] envoy 2 --- .../entities/hostile/EnvoyEntity.java | 17 ++++++ .../paradiselost/items/ParadiseLostItems.java | 1 + .../assets/paradise_lost/lang/en_us.json | 1 + .../models/item/envoy_spawn_egg.json | 3 ++ .../textures/entity/envoy/envoy.png | Bin 1321 -> 1664 bytes .../entity/envoy/envoy_enlightened.png | Bin 1317 -> 1659 bytes .../loot_tables/entities/envoy.json | 49 ++++++++++++++++++ 7 files changed, 71 insertions(+) create mode 100644 src/main/resources/assets/paradise_lost/models/item/envoy_spawn_egg.json create mode 100644 src/main/resources/data/paradise_lost/loot_tables/entities/envoy.json diff --git a/src/main/java/net/id/paradiselost/entities/hostile/EnvoyEntity.java b/src/main/java/net/id/paradiselost/entities/hostile/EnvoyEntity.java index 7969051df..de9eb0cb6 100644 --- a/src/main/java/net/id/paradiselost/entities/hostile/EnvoyEntity.java +++ b/src/main/java/net/id/paradiselost/entities/hostile/EnvoyEntity.java @@ -10,8 +10,10 @@ import net.minecraft.entity.data.TrackedDataHandlerRegistry; import net.minecraft.entity.effect.StatusEffectInstance; import net.minecraft.entity.effect.StatusEffects; +import net.minecraft.entity.mob.EndermanEntity; import net.minecraft.entity.mob.SkeletonEntity; import net.minecraft.nbt.NbtCompound; +import net.minecraft.particle.ParticleTypes; import net.minecraft.util.math.random.Random; import net.minecraft.world.LocalDifficulty; import net.minecraft.world.World; @@ -35,6 +37,21 @@ protected void initDataTracker() { protected void initEquipment(Random random, LocalDifficulty localDifficulty) { } + public boolean isShaking() { + return this.getEnlightened() || super.isShaking(); + } + + + public void tick() { + if (this.world.isClient && this.getEnlightened() && this.random.nextInt(3) == 0) { + this.world.addParticle(ParticleTypes.CLOUD, + this.getParticleX(0.2), (this.getY() + this.random.nextDouble() * 0.6) + 0.85, this.getParticleZ(0.2), + (this.random.nextDouble() - 0.5) * 0.05, -this.random.nextDouble() * 0.025, (this.random.nextDouble() - 0.5) * 0.05 + ); + } + super.tick(); + } + public boolean tryAttack(Entity target) { if (!super.tryAttack(target)) { return false; diff --git a/src/main/java/net/id/paradiselost/items/ParadiseLostItems.java b/src/main/java/net/id/paradiselost/items/ParadiseLostItems.java index cc3f136ba..c3d6ac4f9 100644 --- a/src/main/java/net/id/paradiselost/items/ParadiseLostItems.java +++ b/src/main/java/net/id/paradiselost/items/ParadiseLostItems.java @@ -191,6 +191,7 @@ private static Settings misc() { public static final AurelBucketItem AUREL_MILK_BUCKET = add("aurel_milk_bucket", new AurelBucketItem(aurelBucket)); public static final SpawnEggItem HELLENROSE_SPAWN_EGG = add("hellenrose_spawn_egg", new SpawnEggItem(ParadiseLostEntityTypes.HELLENROSE, 0x97DED4, 0x31897D, misc), spawnEggBehavior); + public static final SpawnEggItem ENVOY_SPAWN_EGG = add("envoy_spawn_egg", new SpawnEggItem(ParadiseLostEntityTypes.ENVOY, 0xc5b1af, 0x993c3c, misc), spawnEggBehavior); public static final SpawnEggItem PARADISE_HARE_SPAWN_EGG = add("corsican_hare_spawn_egg", new SpawnEggItem(ParadiseLostEntityTypes.PARADISE_HARE, 0xC5D6ED, 0x82A6D9, misc), spawnEggBehavior); public static final SpawnEggItem MOA_SPAWN_EGG = add("moa_spawn_egg", new SpawnEggItem(ParadiseLostEntityTypes.MOA, 0xC55C2E4, 0xB3A8BB, misc), spawnEggBehavior); diff --git a/src/main/resources/assets/paradise_lost/lang/en_us.json b/src/main/resources/assets/paradise_lost/lang/en_us.json index a2b63c81c..e879f640c 100644 --- a/src/main/resources/assets/paradise_lost/lang/en_us.json +++ b/src/main/resources/assets/paradise_lost/lang/en_us.json @@ -338,6 +338,7 @@ "item.paradise_lost.cloud_vial": "Cloud Vial", "item.paradise_lost.hellenrose_spawn_egg": "Hellenrose Spawn Egg", + "item.paradise_lost.envoy_spawn_egg": "Envoy Spawn Egg", "item.paradise_lost.corsican_hare_spawn_egg": "Corsican Hare Spawn Egg", "item.paradise_lost.moa_spawn_egg": "Moa Spawn Egg", diff --git a/src/main/resources/assets/paradise_lost/models/item/envoy_spawn_egg.json b/src/main/resources/assets/paradise_lost/models/item/envoy_spawn_egg.json new file mode 100644 index 000000000..cbd5c36b9 --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/item/envoy_spawn_egg.json @@ -0,0 +1,3 @@ +{ + "parent": "paradise_lost:item/template_spawn_egg" +} diff --git a/src/main/resources/assets/paradise_lost/textures/entity/envoy/envoy.png b/src/main/resources/assets/paradise_lost/textures/entity/envoy/envoy.png index feb174efa9dbbc9f7328e603d16d0fd768e9231a..e79e04bb3192d2dc7c281f99a4209568cd59b3a4 100644 GIT binary patch delta 1635 zcmV-p2Auh+3V;oeFnCl-*}ktHbb;+*KUfIMNreKp5MN49oSsR-5H#fi02$k6`_Lg)KmQ+k zZ!f^lLJ18OP=B;6o_cK(fLklecF6yH^OFFg@+Ga^mDetrKc2pq}vlP=5$L+Q+SxWq$eCbTa zwXSGc$bA8}_Z9__25(W8C5 zaOQ1*s(--f-pe`H4-exj+qVhbNCJp0+o|8(rF^Gm=dg9viakiZvpVi#P2B; z3jAgI4{9zgq-a@cZOJ8|KNPMzchfx#c!3AO%rpVGX&0-AhF^M-pr-Nfi=U`DfRRos znw!gCkr??cW@bax1~N0aFH+@8m)W7~nD@W;Fn{6A*fts424HJ^4^Kb$Yrg!~l`7$` zUjD3V(dX9|0eEKcK-F_Iv!U(_a?fZW00aA~Z;S)`_^*-U|Lf~*7wEgfyEVRtUqpJ; zgQ8{e#K8V4qMh-0jsMpxhKiO21N#8jYUBX;8sPqKH@3$2z~W*H?6(e;gOlT9!q?rU z%zyRR8*g?bKhI1~h;UB?fPBv2=0_hB4FrfBJwi~^c>blA>wZ@jTaw3i^%+zaa0>rz z4USf^ZP#ukWHONu0HX^F9u^juKYwo1{(+OXc2=3*3-6v0r9xgsW;x2|?Y0DG5wvsk zRU(!JCl+hoNjUi{74qo4y_5?1w(;kcMSqIi*gbDI@;O7fLD90v=M3i0pA+)88_R$G zE73rJZKJPtgg|0!7qd)$=`D>^E0CRSZu&#q6tuh^ zuQOUF#U&F7(RaTpyz_2^~>WX~f@URGKT9unP$Cedv`^I(rp)fc8b4{IuKNMCc z(+KVukUDxqjGQ>>nVFmryPkTwLbP(7*A^E&sp%= za(qn47$5_k%mC)>91QGJ^Oh9=53Z}>%byVjuCA}Medth?>1~F3ew~`05+f&0dSqT- zGfk4?W1>;>BV}2_z2}8@&j=}~-rI`_>{z)@e(*qh6yVJNYoV-7){ZN^o06v&D)mjgyIlkg>%L zSw^=D-cli7Q)d1UC2>8J@7yK&+`%dZ=5q!{I*qTptM1q;yy2b*`JBOKV<#ZfrTdiY zDc$+MWWBLfv|Q)^^Y1Bjfsx%Inf~NSCdbEw>>A4+V*L0qBC(iSXIy4BFtb^<_)WHE#NUfz4o~)7&eURk{lIM3i7MMMh#VBC!}oI?eW>LqH|I$hFS; h9x8#*-B|4uz5y*^d^iq6wJ-nx002ovPDHLkV1kVJJiPz_ delta 1290 zcmV+l1@-!X4XFx{Fnqgjdl=U#!sq_$X7=auLWzcnpV0H-XkPz6RFwAb-d>YGOu#T-^EG2T7IeyiVC;?5&Vsd7dsW;!EX<0Z8o9y@m zz$u$>6_F?bX@6a(ey|U;RN##pH)THwabDvxp(7Ols8_2}^ut(PTJ*xM@G3A5Fix4045nWY%>K`S$*o0DQLi1x};E zccpJ+Ur0#PvgEh^H33puCUW!eyo-S1Pjb?_&g9H28|Ci&eE`!i zX9Q(cG9!ZXn3q@4x&S_~^;wzW{jq z=8eF3{a~NHoo(EsV_ujwMss8G-DP1o48>2Vdvr|GvUvTScLS5Aip5j<9~BHWElV;w znj7PVS?d$oy@T|@D+}|UIy@xB_4d8{eeut$OMi=AW-JFFRRth3mLsj}d~oa2$bChy zC1~tbok4m5KlA+**K60OC6l7qA`ZK^*3I13> z6k4L*3Ha%A8aCN{9;adVj6OvKDPrMpzt^y9rc{HbWntG$D(h>Wcn+iA^eJgwmw`%3 z%YP8=Cqb0GgjmMua+pcsWz^vz>eZ@Dw#ubt&om6lV7K%o9)NfVi(jYldXzC*S(x`K z>ua7kgv$Dw_iS@B(QuVZ%if9W2IdL7@T&ABL3y^hNj9Hna%L9SIpm*>4YK)sq&P;w zF9G8A1%Zz%KYR6qeVUfVRIwP40%2&?;eR2i-y)$}U0U?S7_`J)Fx=}zN|`DaTmJk1 zq(=5T^aN42S}rYnX1I20Br^3wh2#KQ*wVz!x zF%1KCcqp>%7D{F;hg~y?YtIu=hkx$>FB#Q#i>~8*;kp1>9ol`mg=rX46;>AJy=M?HB$7T?q{ira|9!00000NkvXXt^-0~f?Ilu AI{*Lx diff --git a/src/main/resources/assets/paradise_lost/textures/entity/envoy/envoy_enlightened.png b/src/main/resources/assets/paradise_lost/textures/entity/envoy/envoy_enlightened.png index a01b1dd4fdd19e0c840a4b1a5a424dccbb16c3de..5daa18d4b99c4fc5f7aa4566579ac6e0149f4c44 100644 GIT binary patch delta 1630 zcmV-k2BG<-3i}L@Fnw`uA;wPzmk#!@^bhsC7ZDf^VT@%D@?0o%E`dUBT{^&{d-4;p{;%U)MD}A-$-PavW6#!uT>CePNA#%2j9v{HW=P6rOw|V*WYYxncD^6aka{K zPK>B|GwhW$zDj7>1f7%S4~3MlwrQfr2kL0__y9k= z@*9Ad&$*lKS-=lG4Q8eZz==K3S)|B~-GB2=qgXJM8ef`ZXbcyRq?yKN1gx zI57EYSNQXXHBA*N!AKPMycuNMOPXc0FXrjXZXsos3H0{VD#Rz3t<3zKFtS-C;K15C zyMxIu%wJOl0GNwQM0Fh;X|2_Iee#XBe6J41M>>@fvX*#% zbX07cCb2|boK_$MZJ@VD`FB{;C|ec_voj(XiDE7;Q5-p;%)XO? zD+L@*CMjDM)rw7}R6@;L%mnh(Uw@N(?-y3RmBKkKxOg>aNH)#>Yfh)9T#BIkv5U&+gqN7>RQ4<2&jkf{~~?nPzau zfXvx5V&cL@-@@#SIP&rFFsU zV}J~FG6R^4OE7d?&D&N0JiV?)Z+%DnN5-;*d(RthUJ+7Iy}ut5IJ9|};>d~4D8QNjw@s6rZIe8IuHj1id0=F-ID?>9 z%WN;WeOw-b90Mmuc<#ti_J4IM2*T6*x;{RJ?wEg3CAh7k)nY}K#_3c_$k^hBETcOG zf2CAxC^Nr|lGqE?hmVM#I$5W{V!^=3W(oB6c#iGDAMJ}#EEw!Hb^|h9x=-0l>CXQp zy~cLYcAfvXzhu+}Ms|l}`jaP_o}Lo2Yb<++$@AxkB@$|#ncKz8=U3Sm2oTmZ^!NbP zip}?aG||;)s6<#DyD(p9uCrUa8IGL}dXOC&I|Sq_e#25Rv|u65S;Pz!|a c#%j0lU*kS}PFD#R>i_@%07*qoM6N<$g4Vb~s{jB1 delta 1285 zcmV+g1^W8?45bQ?Fn$u zm-o&#&-jwN3*oywzvt)oe!usA|J_FlRu<+10RQj^eQ-cI$A3ROO8oxoZ@%qI+v6;u zwKM7Br3o62L)J7S^InW2e23+XvNp05jKboN1hJ!Um`q%@_t_lT$Pthy2JW`H@jFh7p;ga+C3ORnKP) z?b!E$7UN;&Glqel83JG^pO3uLGehW^A$;!uuU-dQw|^|WhCsir%keP6bIuCV2E>UG zmR{hXRy#2Ut%C>~#`s#V1EWdMyt*qp{ko2ASrkeo$*k`kaQWj;0eJA!J-m9I4?q7> z_JxEr97lc|UK1c=|0fPyF-B!hDb$E`I<>RRPEi7s#3>AARwaa$gZ_2^zaq zXOLbX%zQ7!_2Q)o$)qT@h{IlATTQGVglX$$l&Rglb35?ruC&ym731BOgs=e>g%;I2 zfiQhu-6dZv;?>=*(Wi+ZMJycecN=cimTJ&&9NenS`r2wBp5y2>eOlHuWuTHVa>V;- z5PxMaA(lzH9A{E^8GUeoTBRbBt@6@hU|W`Cuv7X{4?sM`#jo9XU1f}x=VpWTwbeiz z!ur~3@ML2n)o_)U7K3BokIWNx;brMdgZ5-&gM6{b*yI$xcfddQ?~^YUmEx#ESOUcD z3j!am{~Xlz_h>i{8AgFp47;G zo1Q>*tL3G|AZwcJJl+IanPOV%``eG@0HP_fSnJsLrJ97>PND5?Z;>%_Z2$RC-bBX8 z$(u=o$_C6_ztOj{FdvBO(eCyZ*KXeGD=#eu@i1BJQ>#?)>UA=P!SdW}AZ&nJwSPJG z{fGw$w;dkdm54?VCMRbzV)>U>F34RX={n%OnA+^cWwuQ(WJH$XmS4^Z(jzs zWuY>H?I5n>om@^k(4dvCC$%q%xKt#Cw{f^tyDP5kMWA_g_e7ZaDneovRQtJA8{4wb z2M3gGr_gf41>CAlQu`{QI`r^=Nq$w^DLRhxh3f)jb!g}DCbnfsRal;z4GN_aW0O-r zv&s~PD5=#d75a6ZtZ9-T8O8Swc>j}`o>q<9{x6UO+p?saf~FfRluAI$MHWgW3Z)V| vk2j@MWsDsCy3VohN8)>E8p3#CwO9Bb67>xv6|4qW00000NkvXXu0mjfshx== diff --git a/src/main/resources/data/paradise_lost/loot_tables/entities/envoy.json b/src/main/resources/data/paradise_lost/loot_tables/entities/envoy.json new file mode 100644 index 000000000..4d30d3c39 --- /dev/null +++ b/src/main/resources/data/paradise_lost/loot_tables/entities/envoy.json @@ -0,0 +1,49 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "paradise_lost:bloomed_calcite" + } + ], + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.05 + } + ] + }, + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:bone", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 0, + "max": 2 + }, + "add": false + }, + { + "function": "minecraft:looting_enchant", + "count": { + "type": "minecraft:uniform", + "min": 0, + "max": 1 + } + } + ] + } + ] + } + ] +}