-
Notifications
You must be signed in to change notification settings - Fork 65
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Add natural spawning to the maid fairy - Add substitute jizo item - Add power point item
- Loading branch information
1 parent
a2af392
commit 5a6b82e
Showing
17 changed files
with
241 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
63 changes: 63 additions & 0 deletions
63
...ava/com/github/tartaricacid/touhoulittlemaid/entity/projectile/EntityThrowPowerPoint.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
package com.github.tartaricacid.touhoulittlemaid.entity.projectile; | ||
|
||
import com.github.tartaricacid.touhoulittlemaid.entity.item.EntityPowerPoint; | ||
import com.github.tartaricacid.touhoulittlemaid.init.InitItems; | ||
import net.minecraft.entity.EntityClassification; | ||
import net.minecraft.entity.EntityType; | ||
import net.minecraft.entity.LivingEntity; | ||
import net.minecraft.entity.projectile.ProjectileItemEntity; | ||
import net.minecraft.item.Item; | ||
import net.minecraft.network.IPacket; | ||
import net.minecraft.potion.PotionUtils; | ||
import net.minecraft.potion.Potions; | ||
import net.minecraft.util.math.RayTraceResult; | ||
import net.minecraft.world.World; | ||
import net.minecraftforge.common.util.Constants; | ||
import net.minecraftforge.fml.network.NetworkHooks; | ||
|
||
public class EntityThrowPowerPoint extends ProjectileItemEntity { | ||
public static final EntityType<EntityThrowPowerPoint> TYPE = EntityType.Builder.<EntityThrowPowerPoint>of(EntityThrowPowerPoint::new, EntityClassification.MISC) | ||
.sized(0.25F, 0.25F).clientTrackingRange(4).updateInterval(10).build("throw_power_point"); | ||
|
||
public EntityThrowPowerPoint(EntityType<EntityThrowPowerPoint> type, World worldIn) { | ||
super(type, worldIn); | ||
} | ||
|
||
public EntityThrowPowerPoint(World world, LivingEntity thrower) { | ||
super(TYPE, thrower, world); | ||
} | ||
|
||
public EntityThrowPowerPoint(World world, double x, double y, double z) { | ||
super(TYPE, x, y, z, world); | ||
} | ||
|
||
@Override | ||
protected Item getDefaultItem() { | ||
return InitItems.POWER_POINT.get(); | ||
} | ||
|
||
@Override | ||
protected float getGravity() { | ||
return 0.07F; | ||
} | ||
|
||
@Override | ||
protected void onHit(RayTraceResult result) { | ||
super.onHit(result); | ||
if (!this.level.isClientSide) { | ||
this.level.levelEvent(Constants.WorldEvents.POTION_IMPACT_INSTANT, this.blockPosition(), PotionUtils.getColor(Potions.HEALING)); | ||
int count = 30 + this.level.random.nextInt(30) + this.level.random.nextInt(30); | ||
while (count > 0) { | ||
int value = EntityPowerPoint.getPowerValue(count); | ||
count -= value; | ||
this.level.addFreshEntity(new EntityPowerPoint(this.level, this.getX(), this.getY(), this.getZ(), value)); | ||
} | ||
this.remove(); | ||
} | ||
} | ||
|
||
@Override | ||
public IPacket<?> getAddEntityPacket() { | ||
return NetworkHooks.getEntitySpawningPacket(this); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
16 changes: 16 additions & 0 deletions
16
...ain/java/com/github/tartaricacid/touhoulittlemaid/init/registry/MobSpawnInfoRegistry.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
package com.github.tartaricacid.touhoulittlemaid.init.registry; | ||
|
||
import com.github.tartaricacid.touhoulittlemaid.init.InitEntities; | ||
import net.minecraft.entity.EntityClassification; | ||
import net.minecraft.world.biome.MobSpawnInfo; | ||
import net.minecraftforge.event.world.BiomeLoadingEvent; | ||
import net.minecraftforge.eventbus.api.SubscribeEvent; | ||
import net.minecraftforge.fml.common.Mod; | ||
|
||
@Mod.EventBusSubscriber | ||
public final class MobSpawnInfoRegistry { | ||
@SubscribeEvent | ||
public static void addMobSpawnInfo(BiomeLoadingEvent event) { | ||
event.getSpawns().addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(InitEntities.FAIRY.get(), 70, 2, 6)); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
37 changes: 37 additions & 0 deletions
37
src/main/java/com/github/tartaricacid/touhoulittlemaid/item/ItemPowerPoint.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
package com.github.tartaricacid.touhoulittlemaid.item; | ||
|
||
import com.github.tartaricacid.touhoulittlemaid.entity.projectile.EntityThrowPowerPoint; | ||
import net.minecraft.entity.player.PlayerEntity; | ||
import net.minecraft.item.Item; | ||
import net.minecraft.item.ItemStack; | ||
import net.minecraft.stats.Stats; | ||
import net.minecraft.util.ActionResult; | ||
import net.minecraft.util.Hand; | ||
import net.minecraft.util.SoundCategory; | ||
import net.minecraft.util.SoundEvents; | ||
import net.minecraft.world.World; | ||
|
||
import static com.github.tartaricacid.touhoulittlemaid.item.MaidGroup.MAIN_TAB; | ||
|
||
public class ItemPowerPoint extends Item { | ||
public ItemPowerPoint() { | ||
super((new Properties()).tab(MAIN_TAB)); | ||
} | ||
|
||
@Override | ||
public ActionResult<ItemStack> use(World world, PlayerEntity player, Hand hand) { | ||
ItemStack stack = player.getItemInHand(hand); | ||
world.playSound(null, player.getX(), player.getY(), player.getZ(), SoundEvents.EXPERIENCE_BOTTLE_THROW, SoundCategory.NEUTRAL, 0.5F, 0.4F / (random.nextFloat() * 0.4F + 0.8F)); | ||
if (!world.isClientSide) { | ||
EntityThrowPowerPoint powerPoint = new EntityThrowPowerPoint(world, player); | ||
powerPoint.setItem(stack); | ||
powerPoint.shootFromRotation(player, player.xRot, player.yRot, -20.0F, 0.7F, 1.0F); | ||
world.addFreshEntity(powerPoint); | ||
} | ||
player.awardStat(Stats.ITEM_USED.get(this)); | ||
if (!player.isCreative()) { | ||
stack.shrink(1); | ||
} | ||
return ActionResult.sidedSuccess(stack, world.isClientSide()); | ||
} | ||
} |
50 changes: 50 additions & 0 deletions
50
src/main/java/com/github/tartaricacid/touhoulittlemaid/item/ItemSubstituteJizo.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
package com.github.tartaricacid.touhoulittlemaid.item; | ||
|
||
import com.github.tartaricacid.touhoulittlemaid.api.event.InteractMaidEvent; | ||
import com.github.tartaricacid.touhoulittlemaid.entity.passive.EntityMaid; | ||
import net.minecraft.client.util.ITooltipFlag; | ||
import net.minecraft.entity.player.PlayerEntity; | ||
import net.minecraft.item.Item; | ||
import net.minecraft.item.ItemStack; | ||
import net.minecraft.util.text.ITextComponent; | ||
import net.minecraft.util.text.TranslationTextComponent; | ||
import net.minecraft.world.World; | ||
import net.minecraftforge.api.distmarker.Dist; | ||
import net.minecraftforge.api.distmarker.OnlyIn; | ||
import net.minecraftforge.common.MinecraftForge; | ||
import net.minecraftforge.eventbus.api.SubscribeEvent; | ||
|
||
import javax.annotation.Nullable; | ||
import java.util.List; | ||
|
||
import static com.github.tartaricacid.touhoulittlemaid.item.MaidGroup.MAIN_TAB; | ||
|
||
public class ItemSubstituteJizo extends Item { | ||
public ItemSubstituteJizo() { | ||
super((new Properties()).tab(MAIN_TAB).stacksTo(1)); | ||
MinecraftForge.EVENT_BUS.register(this); | ||
} | ||
|
||
@SubscribeEvent | ||
public void onEntityInteract(InteractMaidEvent event) { | ||
EntityMaid maid = event.getMaid(); | ||
ItemStack stack = event.getStack(); | ||
PlayerEntity player = event.getPlayer(); | ||
if (maid.isOwnedBy(player) && stack.getItem() == this && !maid.getIsInvulnerable()) { | ||
maid.setEntityInvulnerable(true); | ||
stack.shrink(1); | ||
event.setCanceled(true); | ||
} | ||
} | ||
|
||
@Override | ||
public boolean isFoil(ItemStack stack) { | ||
return true; | ||
} | ||
|
||
@Override | ||
@OnlyIn(Dist.CLIENT) | ||
public void appendHoverText(ItemStack stack, @Nullable World worldIn, List<ITextComponent> tooltip, ITooltipFlag flagIn) { | ||
tooltip.add(new TranslationTextComponent("tooltips.touhou_little_maid.substitute_jizo.desc")); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
6 changes: 6 additions & 0 deletions
6
src/main/resources/assets/touhou_little_maid/models/item/power_point.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
{ | ||
"parent": "item/generated", | ||
"textures": { | ||
"layer0": "touhou_little_maid:items/power_point" | ||
} | ||
} |
6 changes: 6 additions & 0 deletions
6
src/main/resources/assets/touhou_little_maid/models/item/substitute_jizo.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
{ | ||
"parent": "item/generated", | ||
"textures": { | ||
"layer0": "touhou_little_maid:items/substitute_jizo" | ||
} | ||
} |
Binary file added
BIN
+308 Bytes
src/main/resources/assets/touhou_little_maid/textures/items/power_point.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+311 Bytes
src/main/resources/assets/touhou_little_maid/textures/items/substitute_jizo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions
6
src/main/resources/data/forge/loot_modifiers/global_loot_modifiers.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
{ | ||
"replace": false, | ||
"entries": [ | ||
"touhou_little_maid:power_point" | ||
] | ||
} |