diff --git a/build.gradle b/build.gradle index 721ee02..3b70cc9 100644 --- a/build.gradle +++ b/build.gradle @@ -53,14 +53,15 @@ dependencies { modImplementation(include("dev.onyxstudios.cardinal-components-api:cardinal-components-entity:${project.cardinal_version}")) // Implement Trinkets for parachutes, rings etc. - modImplementation(include("dev.emi:trinkets:${project.trinkets_version}")) + modImplementation("dev.emi:trinkets:${project.trinkets_version}") modRuntimeOnly "com.terraformersmc:modmenu:${project.modmenu_version}" modImplementation "io.wispforest:owo-lib:${project.owo_version}+1.18" modRuntimeOnly "me.shedaniel:RoughlyEnoughItems-fabric:${project.rei_version}" - testImplementation 'com.google.code.findbugs:jsr305:3.0.2' + implementation 'com.google.code.findbugs:jsr305:3.0.2' + implementation 'javax.annotation:javax.annotation-api:1.3.2' } loom { diff --git a/gradle.properties b/gradle.properties index 14dc2fc..a9581c7 100644 --- a/gradle.properties +++ b/gradle.properties @@ -12,7 +12,7 @@ max_errors=400 fabric_version=0.66.0+1.18.2 # Mod Properties - mod_version = 1.8.0-INDEV.2 + mod_version = 1.8.1+1.18.2 # todo change maven_group = azzy.fabric archives_base_name = incubus-core diff --git a/src/main/java/net/id/incubus_core/annotations/NonnullByDefault.java b/src/main/java/net/id/incubus_core/annotations/NonnullByDefault.java index aa72cf1..214d0dd 100644 --- a/src/main/java/net/id/incubus_core/annotations/NonnullByDefault.java +++ b/src/main/java/net/id/incubus_core/annotations/NonnullByDefault.java @@ -8,9 +8,9 @@ @Nonnull @TypeQualifierDefault({ - ElementType.FIELD, - ElementType.METHOD, - ElementType.PARAMETER}) + ElementType.FIELD, + ElementType.METHOD, + ElementType.PARAMETER}) @Retention(RetentionPolicy.CLASS) public @interface NonnullByDefault { diff --git a/src/main/java/net/id/incubus_core/misc/IncubusSounds.java b/src/main/java/net/id/incubus_core/misc/IncubusSounds.java index 19e2490..3fee9ce 100644 --- a/src/main/java/net/id/incubus_core/misc/IncubusSounds.java +++ b/src/main/java/net/id/incubus_core/misc/IncubusSounds.java @@ -5,12 +5,7 @@ import static net.id.incubus_core.IncubusCore.registerSoundEvent; public class IncubusSounds { - - public static final SoundEvent DUPED_SHOVELS = registerSoundEvent("duped_shovels"); - public static final SoundEvent COSMIC_OCEAN = registerSoundEvent("cosmic_ocean"); - public static final SoundEvent DECLINE = registerSoundEvent("decline"); - public static final SoundEvent VINESUS = registerSoundEvent("vinesus"); - + public static final SoundEvent WEAK = registerSoundEvent("weak"); public static final SoundEvent BLAST = registerSoundEvent("blast"); public static final SoundEvent PARRY = registerSoundEvent("parry"); @@ -22,7 +17,5 @@ public class IncubusSounds { public static final SoundEvent DRIP = registerSoundEvent("drip"); public static final SoundEvent DRIP_LONG = registerSoundEvent("drip_long"); - public static final SoundEvent TRASH_ISAAC = registerSoundEvent("trash_isaac"); - public static void init() {} } diff --git a/src/main/java/net/id/incubus_core/misc/item/AzzysFlagItem.java b/src/main/java/net/id/incubus_core/misc/item/AzzysFlagItem.java index 8b27bdc..4e460a3 100644 --- a/src/main/java/net/id/incubus_core/misc/item/AzzysFlagItem.java +++ b/src/main/java/net/id/incubus_core/misc/item/AzzysFlagItem.java @@ -23,6 +23,7 @@ import net.minecraft.sound.SoundEvents; import net.minecraft.text.LiteralText; import net.minecraft.text.Text; +import net.minecraft.text.TranslatableText; import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; import net.minecraft.util.TypedActionResult; @@ -35,506 +36,454 @@ import java.util.*; public class AzzysFlagItem extends HoeItem { - - private static final ArrayList SAPLINGS; - - public AzzysFlagItem(ToolMaterial toolMaterial, int attackDamage, float attackSpeed, Settings settings) { - super(toolMaterial, attackDamage, attackSpeed, settings); - } - - @Override - public TypedActionResult use(World world, PlayerEntity user, Hand hand) { - if(!WorthinessChecker.isPlayerWorthy(user.getUuid(), Optional.of(user))) { - WorthinessChecker.smite(user); - } - - var random = world.getRandom(); - var flagStaff = user.getStackInHand(hand); - - if(user.isSneaking() && hand == Hand.OFF_HAND) { - cycleMode(flagStaff); - user.sendMessage(getMode(flagStaff).name, true); - world.playSoundFromEntity(null, user, IncubusSounds.AHH, SoundCategory.PLAYERS ,1F, 1.4F + random.nextFloat() * 0.5F); - return TypedActionResult.success(flagStaff, world.isClient()); - } - - var mode = getMode(flagStaff); - var sneaking = user.isSneaking(); - - switch (mode) { - case MUNDANE -> { - - return TypedActionResult.pass(flagStaff); - - } - case GIFT -> { - - var players = new ArrayList<>(world.getPlayers()); - players.remove(user); - - if(players.isEmpty()) - return TypedActionResult.fail(flagStaff); - - Collections.shuffle(players); - var target = players.get(0); - - handleGifting(target, random, user, sneaking); - world.playSoundFromEntity(null, sneaking ? user : target, random.nextFloat() < 0.015F ? IncubusSounds.APYR : IncubusSounds.BAD_TO_THE_BONE, SoundCategory.PLAYERS, 1, random.nextFloat() * 2); - - return TypedActionResult.success(flagStaff, world.isClient()); - - } - case VANISH -> { - - var playerData = IncubusPlayerData.get(user); - var invisible = playerData.shouldSkipRender(); - - playerData.setBlockRendering(!invisible); - world.playSoundFromEntity(null, user, IncubusSounds.DRIP, SoundCategory.PLAYERS, 1, 1); - - if (!world.isClient()) { - IncubusPlayerData.PLAYER_DATA_KEY.sync(user); - } - - return TypedActionResult.success(flagStaff, world.isClient()); - - } - case LIFE -> { - - if (sneaking) { - handleSpawning(world, random, user); - world.playSoundFromEntity(null, user, IncubusSounds.AHH, SoundCategory.PLAYERS, 1, 1); - - return TypedActionResult.success(flagStaff, world.isClient()); - } - - } - case SANS -> { - var players = new ArrayList<>(world.getPlayers()); - players.remove(user); - - if (players.isEmpty()) - return TypedActionResult.fail(flagStaff); - - Collections.shuffle(players); - var target = players.get(0); - - world.playSound(null, user.getBlockPos(), IncubusSounds.DRIP, SoundCategory.PLAYERS, 0.9F, 1); - if (!world.isClient()) { - Box bounds = user.getBoundingBox(); - for (int j = 0; j < Math.pow(bounds.getAverageSideLength() * 3, 2); j++) { - ((ServerWorld) world).spawnParticles(ParticleTypes.END_ROD, user.getX() + (random.nextDouble() * bounds.getXLength() - bounds.getXLength() / 2), user.getY() + (random.nextDouble() * bounds.getYLength()), user.getZ() + (random.nextDouble() * bounds.getZLength() - bounds.getZLength() / 2), random.nextInt(4), 0, 0, 0, 0.9); - } - } - - user.teleport(target.getX(), target.getY(), target.getZ()); - world.playSoundFromEntity(null, target, IncubusSounds.APYR, SoundCategory.PLAYERS, 0.65F, 1); - - return TypedActionResult.success(flagStaff, world.isClient()); - } - } - - - return TypedActionResult.fail(flagStaff); - } - - private void handleGifting(PlayerEntity target, Random random, PlayerEntity user, boolean sneaking) { - if(user.world.isClient()) - return; - - if(sneaking) { - int roll = random.nextInt(5); - switch (roll) { - case 0: user.giveItemStack(new ItemStack(Items.SWEET_BERRIES)); - case 1: user.giveItemStack(new ItemStack(Items.ROSE_BUSH)); - case 2: user.giveItemStack(new ItemStack(Items.VINE)); - case 3: user.giveItemStack(new ItemStack(IncubusCoreItems.DECLINE)); - case 4: user.giveItemStack(new ItemStack(IncubusCoreItems.RIPPLE)); - } - } - else { - var cap = lowRollRandom(random, 5) + 1; - target.sendMessage(new LiteralText("You have been graced with gifts!").styled(style -> style.withColor(0xffb0b3)), true); - for (int i = 0; i < cap; i++) { - float roll = random.nextFloat(100); - - if (roll > 99) { - grantStack(target, random.nextBoolean() ? IncubusCoreItems.RIPPLE : IncubusCoreItems.DECLINE, 1); - } - else if (roll > 95) { - grantStack(target, IncubusCoreItems.DEBUG_FLAME_ITEM, random.nextInt(65)); - } - else if (roll > 90) { - grantStack(target, IncubusCoreItems.DUPED_SHOVELS, 1); - } - else if (roll > 85) { - grantStack(target, IncubusCoreItems.VINESUS, 1); - } - else if (roll > 75) { - grantStack(target, IncubusCoreItems.MOBILK_1, lowRollRandom(random, 9)); - } - else if (roll > 65) { - grantStack(target, IncubusCoreItems.LEAN, lowRollRandom(random, 9)); - } - else if (roll > 55) { - grantStack(target, IncubusCoreItems.RAT_POISON, lowRollRandom(random, 9)); - } - else if (roll > 40) { - grantStack(target, Items.CAKE, 1); - } - else if (roll > 25) { - grantStack(target, Items.FURNACE_MINECART, 1); - } - else { - int subRoll = random.nextInt(7); - int count = lowRollRandom(random, 65); - - Item item = switch (subRoll) { - case 0 -> Items.SWEET_BERRIES; - case 1 -> Items.ROOTED_DIRT; - case 2 -> Items.POPPY; - case 3 -> Items.BIG_DRIPLEAF; - case 4 -> Items.SMALL_DRIPLEAF; - case 5 -> Items.COOKIE; - case 6 -> Items.POISONOUS_POTATO; - default -> throw new IllegalStateException("Unexpected value: " + subRoll); - }; - - grantStack(target, item, count); - } - } - } - } - - private void handleSpawning(World world, Random random, PlayerEntity user) { - var centerPos = user.getBlockPos(); - var tries = random.nextInt(19); - - for (int i = 0; i < tries; i++) { - var spawnPos = centerPos.add(random.nextInt(11) - 5, random.nextInt(7) - 3, random.nextInt(11) - 5); - var variant = random.nextFloat(); - - Entity entity = null; - - if (world.isWater(spawnPos)) { - - if(variant > 0.9) { - entity = new AxolotlEntity(EntityType.AXOLOTL, world); - } - else if(variant > 0.6) { - entity = new TropicalFishEntity(EntityType.TROPICAL_FISH, world); - } - else if(variant > 0.3) { - entity = new SalmonEntity(EntityType.SALMON, world); - } - else { - entity = new CodEntity(EntityType.COD, world); - } - - } - else if (world.isAir(spawnPos)) { - - if (world.isAir(spawnPos.down())) { - - if(variant > 0.9) { - entity = new BatEntity(EntityType.BAT, world); - } - else if(variant > 0.75) { - entity = new ChickenEntity(EntityType.CHICKEN, world); - } - else { - entity = new BeeEntity(EntityType.BEE, world); - } - - } - else { - - if(variant > 0.98) { - entity = new MooshroomEntity(EntityType.MOOSHROOM, world); - } - else if(variant > 0.92) { - entity = new WolfEntity(EntityType.WOLF, world); - } - else if(variant > 0.725) { - entity = new FoxEntity(EntityType.FOX, world); - } - else { - entity = new RabbitEntity(EntityType.RABBIT, world); - } - - } - - } - - if (entity != null) { - entity.setPosition(Vec3d.ofCenter(spawnPos)); - world.spawnEntity(entity); - if (!world.isClient()) { - Box bounds = entity.getBoundingBox(); - for (int j = 0; j < Math.pow(bounds.getAverageSideLength() * 3, 2); j++) { - ((ServerWorld) world).spawnParticles(DustParticleEffect.DEFAULT, entity.getX() + (random.nextDouble() * bounds.getXLength() - bounds.getXLength() / 2), entity.getY() + (random.nextDouble() * bounds.getYLength()), entity.getZ() + (random.nextDouble() * bounds.getZLength() - bounds.getZLength() / 2), random.nextInt(4), 0, 0, 0, 0.9); - } - } - } - } - - - } - - private void grantStack(PlayerEntity target, Item item, int count) { - target.giveItemStack(new ItemStack(item, count)); - } - - private int lowRollRandom(Random random, int cap) { - return Math.min(random.nextInt(cap), random.nextInt(cap)); - } - - @Override - public ActionResult useOnEntity(ItemStack stack, PlayerEntity user, LivingEntity target, Hand hand) { - var mode = getMode(stack); - var world = user.getWorld(); - var random = user.getRandom(); - - if (target instanceof PlayerEntity player) { - - switch (mode) { - case GIFT: { - - handleGifting(player, random, user, false); - return ActionResult.success(world.isClient()); - - } - case BLESS: { - - target.addStatusEffect(new StatusEffectInstance(StatusEffects.REGENERATION, 200, 3)); - target.addStatusEffect(new StatusEffectInstance(StatusEffects.HEALTH_BOOST, 6000, 4)); - target.addStatusEffect(new StatusEffectInstance(StatusEffects.ABSORPTION, 6000, 4)); - - world.playSoundFromEntity(null, target, IncubusSounds.DRIP, SoundCategory.PLAYERS, 1, 1); - return ActionResult.success(world.isClient()); - - } - case CURSE: { - if (!user.isSneaking()) { - - target.damage(IncubusDamageSources.UNWORTHY, 10F); - world.playSoundFromEntity(null, target, IncubusSounds.WEAK, SoundCategory.PLAYERS, 1, 0.9F + random.nextFloat() * 0.2F); - - } - else { - if (!world.isClient()) { - - var lightning = new LightningEntity(EntityType.LIGHTNING_BOLT, world); - lightning.setChanneler((ServerPlayerEntity) user); - lightning.setPosition(target.getPos()); - - target.addStatusEffect(new StatusEffectInstance(StatusEffects.HUNGER, 200, 3)); - target.addStatusEffect(new StatusEffectInstance(StatusEffects.WEAKNESS, 6000, 2)); - target.addStatusEffect(new StatusEffectInstance(StatusEffects.SLOWNESS, 6000, 2)); - target.addStatusEffect(new StatusEffectInstance(StatusEffects.MINING_FATIGUE, 6000, 2)); - - world.spawnEntity(lightning); - world.playSoundFromEntity(null, target, IncubusSounds.WEAK, SoundCategory.PLAYERS, 1, 1F); - - } - } - return ActionResult.success(world.isClient()); - - } - case LIFE: { - - target.clearStatusEffects(); - target.heal(500f); - target.addStatusEffect(new StatusEffectInstance(StatusEffects.SATURATION, 20, 0)); - target.addStatusEffect(new StatusEffectInstance(StatusEffects.RESISTANCE, 200, 3)); - - world.playSoundFromEntity(null, target, IncubusSounds.AHH, SoundCategory.PLAYERS, 0.5F, 1F); - return ActionResult.success(world.isClient()); - - } - case WORTHY: { - - var playerData = IncubusPlayerData.get(player); - var worthy = playerData.isDeemedWorthy(); - - playerData.deemWorthy(!playerData.isDeemedWorthy()); - - if (!worthy) { - player.sendMessage(new LiteralText("You have been deemed worthy"), true); - world.playSoundFromEntity(null, target, IncubusSounds.DRIP_LONG, SoundCategory.PLAYERS, 0.5F, 1F); - - } - else { - player.sendMessage(new LiteralText("You have no right!"), true); - world.playSoundFromEntity(null, target, IncubusSounds.TRASH_ISAAC, SoundCategory.PLAYERS, 0.5F, 1F); - - } - - if (!world.isClient()) { - IncubusPlayerData.PLAYER_DATA_KEY.sync(player); - } - - return ActionResult.success(world.isClient()); - - } - default: return ActionResult.PASS; - } - - } - - return ActionResult.PASS; - } - - @Override - public ActionResult useOnBlock(ItemUsageContext context) { - var pos = context.getBlockPos(); - var world = context.getWorld(); - var mode = getMode(context.getStack()); - var sneaking = Optional.ofNullable(context.getPlayer()).map(PlayerEntity::isSneaking).orElse(false); - var state = world.getBlockState(pos); - var block = state.getBlock(); - - if (mode == Mode.MUNDANE) { - - if (sneaking) { - - if (context.getSide() == Direction.DOWN) { - return ActionResult.PASS; - } else { - PlayerEntity playerEntity = context.getPlayer(); - BlockState blockState2 = PathStateAccessor.getPathStates().get(state.getBlock()); - BlockState blockState3 = null; - if (blockState2 != null && world.getBlockState(pos.up()).isAir()) { - world.playSound(playerEntity, pos, SoundEvents.ITEM_SHOVEL_FLATTEN, SoundCategory.BLOCKS, 1.0F, 1.0F); - blockState3 = blockState2; - } else if (state.getBlock() instanceof CampfireBlock && (Boolean)state.get(CampfireBlock.LIT)) { - if (!world.isClient()) { - world.syncWorldEvent(null, 1009, pos, 0); - } - - CampfireBlock.extinguish(context.getPlayer(), world, pos, state); - blockState3 = state.with(CampfireBlock.LIT, false); - } - - if (blockState3 != null) { - if (!world.isClient) { - world.setBlockState(pos, blockState3, 11); - if (playerEntity != null) { - context.getStack().damage(1, playerEntity, (p) -> { - p.sendToolBreakStatus(context.getHand()); - }); - } - } - - return ActionResult.success(world.isClient); - } else { - return ActionResult.PASS; - } - } - - } - - return super.useOnBlock(context); - } - else if(mode == Mode.LIFE) { - BoneMealItem.createParticles(world, pos, 0); - - if(SAPLINGS.contains(block)) { - if(block == Blocks.FLOWERING_AZALEA) { - world.setBlockState(pos, Blocks.OAK_SAPLING.getDefaultState()); - } - else { - world.setBlockState(pos, SAPLINGS.get(SAPLINGS.indexOf(block) + 1).getDefaultState()); - } - - world.playSound(null, pos, SoundEvents.BLOCK_SHROOMLIGHT_PLACE, SoundCategory.BLOCKS, 1, 1); - } - - if (block instanceof Fertilizable fertilizable && world.getRandom().nextFloat() < 0.1F) { - if (fertilizable.isFertilizable(world, pos, state, world.isClient()) && !world.isClient()) - fertilizable.grow((ServerWorld) world, world.getRandom(), pos, state); - } - } - - return ActionResult.FAIL; - } - - - - public static Mode getMode(ItemStack stack) { - var id = stack.getOrCreateNbt().getString("mode"); - if (id.isEmpty()) { - stack.getOrCreateNbt().putString("mode", "MUNDANE"); - return Mode.MUNDANE; - } - return Mode.valueOf(id); - } - - public static void setMode(ItemStack stack, Mode mode) { - stack.getOrCreateNbt().putString("mode", mode.name()); - } - - public static void cycleMode(ItemStack stack) { - setMode(stack, getMode(stack).next()); - } - - @Override - public Text getName() { - var name = super.getName(); - return name.getWithStyle(name.getStyle().withColor(0xffb0b3)).get(0); - } - - @Override - public Text getName(ItemStack stack) { - var name = super.getName(stack); - return name.getWithStyle(name.getStyle().withColor(0xffb0b3)).get(0); - } - - @Override - public void appendTooltip(ItemStack stack, @Nullable World world, List tooltip, TooltipContext context) { - tooltip.add(new LiteralText("§f§oFor The Worthy")); - tooltip.add(new LiteralText("§olady azzy's blushing staff").styled(style -> style.withColor(0xffb0b3))); - tooltip.add(getMode(stack).name); - super.appendTooltip(stack, world, tooltip, context); - } - - @Override - public boolean hasGlint(ItemStack stack) { - return false; - } - - static { - SAPLINGS = new ArrayList<>(); - SAPLINGS.add(Blocks.OAK_SAPLING); - SAPLINGS.add(Blocks.BIRCH_SAPLING); - SAPLINGS.add(Blocks.SPRUCE_SAPLING); - SAPLINGS.add(Blocks.DARK_OAK_SAPLING); - SAPLINGS.add(Blocks.ACACIA_SAPLING); - SAPLINGS.add(Blocks.JUNGLE_SAPLING); - SAPLINGS.add(Blocks.AZALEA); - SAPLINGS.add(Blocks.FLOWERING_AZALEA); - } - - private enum Mode { - MUNDANE("mundane", 0x9faebd), - GIFT("charitable",0xcf91ff), - BLESS("anointing", 0x70ffcd), - CURSE("emnity", 0xd83a71), - VANISH("illusionary", 0xbce5de), - LIFE("vitalizing", 0xffb5c3), - SANS("sans", 0xffc552), - WORTHY("righteous", 0xedfcff); - - public final Text name; - - Mode(String name, int color) { - this.name = new LiteralText(name).styled(style -> style.withColor(color).withItalic(true)); - - } - - public Mode next() { - var nextOrdinal = this == WORTHY ? 0 : ordinal() + 1; - return values()[nextOrdinal]; - } - } + + private static final ArrayList SAPLINGS; + + public AzzysFlagItem(ToolMaterial toolMaterial, int attackDamage, float attackSpeed, Settings settings) { + super(toolMaterial, attackDamage, attackSpeed, settings); + } + + @Override + public TypedActionResult use(World world, PlayerEntity user, Hand hand) { + if (!WorthinessChecker.isPlayerWorthy(user.getUuid(), Optional.of(user))) { + WorthinessChecker.smite(user); + } + + var random = world.getRandom(); + var flagStaff = user.getStackInHand(hand); + + if (user.isSneaking() && hand == Hand.OFF_HAND) { + cycleMode(flagStaff); + user.sendMessage(getMode(flagStaff).name, true); + world.playSoundFromEntity(null, user, IncubusSounds.AHH, SoundCategory.PLAYERS, 1F, 1.4F + random.nextFloat() * 0.5F); + return TypedActionResult.success(flagStaff, world.isClient()); + } + + var mode = getMode(flagStaff); + var sneaking = user.isSneaking(); + + switch (mode) { + case MUNDANE -> { + + return TypedActionResult.pass(flagStaff); + + } + case GIFT -> { + + var players = new ArrayList<>(world.getPlayers()); + players.remove(user); + + if (players.isEmpty()) + return TypedActionResult.fail(flagStaff); + + Collections.shuffle(players); + var target = players.get(0); + + handleGifting(target, random, user, sneaking); + world.playSoundFromEntity(null, sneaking ? user : target, random.nextFloat() < 0.015F ? IncubusSounds.APYR : IncubusSounds.BAD_TO_THE_BONE, SoundCategory.PLAYERS, 1, random.nextFloat() * 2); + + return TypedActionResult.success(flagStaff, world.isClient()); + + } + case VANISH -> { + + var playerData = IncubusPlayerData.get(user); + var invisible = playerData.shouldSkipRender(); + + playerData.setBlockRendering(!invisible); + world.playSoundFromEntity(null, user, IncubusSounds.DRIP, SoundCategory.PLAYERS, 1, 1); + + if (!world.isClient()) { + IncubusPlayerData.PLAYER_DATA_KEY.sync(user); + } + + return TypedActionResult.success(flagStaff, world.isClient()); + + } + case LIFE -> { + + if (sneaking) { + handleSpawning(world, random, user); + world.playSoundFromEntity(null, user, IncubusSounds.AHH, SoundCategory.PLAYERS, 1, 1); + + return TypedActionResult.success(flagStaff, world.isClient()); + } + + } + case SANS -> { + var players = new ArrayList<>(world.getPlayers()); + players.remove(user); + + if (players.isEmpty()) + return TypedActionResult.fail(flagStaff); + + Collections.shuffle(players); + var target = players.get(0); + + world.playSound(null, user.getBlockPos(), IncubusSounds.DRIP, SoundCategory.PLAYERS, 0.9F, 1); + if (!world.isClient()) { + Box bounds = user.getBoundingBox(); + for (int j = 0; j < Math.pow(bounds.getAverageSideLength() * 3, 2); j++) { + ((ServerWorld) world).spawnParticles(ParticleTypes.END_ROD, user.getX() + (random.nextDouble() * bounds.getXLength() - bounds.getXLength() / 2), user.getY() + (random.nextDouble() * bounds.getYLength()), user.getZ() + (random.nextDouble() * bounds.getZLength() - bounds.getZLength() / 2), random.nextInt(4), 0, 0, 0, 0.9); + } + } + + user.teleport(target.getX(), target.getY(), target.getZ()); + world.playSoundFromEntity(null, target, IncubusSounds.APYR, SoundCategory.PLAYERS, 0.65F, 1); + + return TypedActionResult.success(flagStaff, world.isClient()); + } + } + + + return TypedActionResult.fail(flagStaff); + } + + private void handleGifting(PlayerEntity target, Random random, PlayerEntity user, boolean sneaking) { + if (user.world.isClient()) + return; + + if (sneaking) { + int roll = random.nextInt(5); + switch (roll) { + case 0: + user.giveItemStack(new ItemStack(Items.SWEET_BERRIES)); + case 1: + user.giveItemStack(new ItemStack(Items.ROSE_BUSH)); + case 2: + user.giveItemStack(new ItemStack(Items.VINE)); + } + } else { + var cap = lowRollRandom(random, 5) + 1; + target.sendMessage(new TranslatableText("You have been graced with gifts!").styled(style -> style.withColor(0xffb0b3)), true); + for (int i = 0; i < cap; i++) { + float roll = random.nextInt(100); + + if (roll > 98) { + grantStack(target, IncubusCoreItems.DEBUG_FLAME_ITEM, random.nextInt(65)); + } else if (roll > 80) { + grantStack(target, IncubusCoreItems.MOBILK_1, lowRollRandom(random, 9)); + } else if (roll > 70) { + grantStack(target, IncubusCoreItems.LEAN, lowRollRandom(random, 9)); + } else if (roll > 60) { + grantStack(target, IncubusCoreItems.RAT_POISON, lowRollRandom(random, 9)); + } else if (roll > 50) { + grantStack(target, Items.CAKE, 1); + } else if (roll > 30) { + grantStack(target, Items.FURNACE_MINECART, 1); + } else { + int subRoll = random.nextInt(7); + int count = lowRollRandom(random, 65); + + Item item = switch (subRoll) { + case 0 -> Items.SWEET_BERRIES; + case 1 -> Items.ROOTED_DIRT; + case 2 -> Items.POPPY; + case 3 -> Items.BIG_DRIPLEAF; + case 4 -> Items.SMALL_DRIPLEAF; + case 5 -> Items.COOKIE; + case 6 -> Items.POISONOUS_POTATO; + default -> throw new IllegalStateException("Unexpected value: " + subRoll); + }; + + grantStack(target, item, count); + } + } + } + } + + private void handleSpawning(World world, Random random, PlayerEntity user) { + var centerPos = user.getBlockPos(); + var tries = random.nextInt(19); + + for (int i = 0; i < tries; i++) { + var spawnPos = centerPos.add(random.nextInt(11) - 5, random.nextInt(7) - 3, random.nextInt(11) - 5); + var variant = random.nextFloat(); + + Entity entity = null; + + if (world.isWater(spawnPos)) { + if (variant > 0.9) { + entity = new AxolotlEntity(EntityType.AXOLOTL, world); + } else if (variant > 0.6) { + entity = new TropicalFishEntity(EntityType.TROPICAL_FISH, world); + } else if (variant > 0.3) { + entity = new SalmonEntity(EntityType.SALMON, world); + } else { + entity = new CodEntity(EntityType.COD, world); + } + } else if (world.isAir(spawnPos)) { + if (world.isAir(spawnPos.down())) { + if (variant > 0.9) { + entity = new BatEntity(EntityType.BAT, world); + } else if (variant > 0.75) { + entity = new ChickenEntity(EntityType.CHICKEN, world); + } else { + entity = new BeeEntity(EntityType.BEE, world); + } + } else { + + if (variant > 0.98) { + entity = new MooshroomEntity(EntityType.MOOSHROOM, world); + } else if (variant > 0.92) { + entity = new WolfEntity(EntityType.WOLF, world); + } else if (variant > 0.725) { + entity = new FoxEntity(EntityType.FOX, world); + } else { + entity = new RabbitEntity(EntityType.RABBIT, world); + } + } + } + + if (entity != null) { + entity.setPosition(Vec3d.ofCenter(spawnPos)); + world.spawnEntity(entity); + if (!world.isClient()) { + Box bounds = entity.getBoundingBox(); + for (int j = 0; j < Math.pow(bounds.getAverageSideLength() * 3, 2); j++) { + ((ServerWorld) world).spawnParticles(DustParticleEffect.DEFAULT, entity.getX() + (random.nextDouble() * bounds.getXLength() - bounds.getXLength() / 2), entity.getY() + (random.nextDouble() * bounds.getYLength()), entity.getZ() + (random.nextDouble() * bounds.getZLength() - bounds.getZLength() / 2), random.nextInt(4), 0, 0, 0, 0.9); + } + } + } + } + + + } + + private void grantStack(PlayerEntity target, Item item, int count) { + target.giveItemStack(new ItemStack(item, count)); + } + + private int lowRollRandom(Random random, int cap) { + return Math.min(random.nextInt(cap), random.nextInt(cap)); + } + + @Override + public ActionResult useOnEntity(ItemStack stack, PlayerEntity user, LivingEntity target, Hand hand) { + var mode = getMode(stack); + var world = user.getWorld(); + var random = user.getRandom(); + + if (target instanceof PlayerEntity player) { + switch (mode) { + case GIFT: { + handleGifting(player, random, user, false); + return ActionResult.success(world.isClient()); + } + case BLESS: { + target.addStatusEffect(new StatusEffectInstance(StatusEffects.REGENERATION, 200, 3)); + target.addStatusEffect(new StatusEffectInstance(StatusEffects.HEALTH_BOOST, 6000, 4)); + target.addStatusEffect(new StatusEffectInstance(StatusEffects.ABSORPTION, 6000, 4)); + + world.playSoundFromEntity(null, target, IncubusSounds.DRIP, SoundCategory.PLAYERS, 1, 1); + return ActionResult.success(world.isClient()); + } + case CURSE: { + if (!user.isSneaking()) { + target.damage(IncubusDamageSources.UNWORTHY, 10F); + world.playSoundFromEntity(null, target, IncubusSounds.WEAK, SoundCategory.PLAYERS, 1, 0.9F + random.nextFloat() * 0.2F); + } else { + if (!world.isClient()) { + var lightning = new LightningEntity(EntityType.LIGHTNING_BOLT, world); + lightning.setChanneler((ServerPlayerEntity) user); + lightning.setPosition(target.getPos()); + + target.addStatusEffect(new StatusEffectInstance(StatusEffects.HUNGER, 200, 3)); + target.addStatusEffect(new StatusEffectInstance(StatusEffects.WEAKNESS, 6000, 2)); + target.addStatusEffect(new StatusEffectInstance(StatusEffects.SLOWNESS, 6000, 2)); + target.addStatusEffect(new StatusEffectInstance(StatusEffects.MINING_FATIGUE, 6000, 2)); + + world.spawnEntity(lightning); + world.playSoundFromEntity(null, target, IncubusSounds.WEAK, SoundCategory.PLAYERS, 1, 1F); + } + } + return ActionResult.success(world.isClient()); + + } + case LIFE: { + target.clearStatusEffects(); + target.heal(500f); + target.addStatusEffect(new StatusEffectInstance(StatusEffects.SATURATION, 20, 0)); + target.addStatusEffect(new StatusEffectInstance(StatusEffects.RESISTANCE, 200, 3)); + + world.playSoundFromEntity(null, target, IncubusSounds.AHH, SoundCategory.PLAYERS, 0.5F, 1F); + return ActionResult.success(world.isClient()); + } + case WORTHY: { + var playerData = IncubusPlayerData.get(player); + var worthy = playerData.isDeemedWorthy(); + + playerData.deemWorthy(!playerData.isDeemedWorthy()); + + if (!worthy) { + player.sendMessage(new TranslatableText("You have been deemed worthy"), true); + world.playSoundFromEntity(null, target, IncubusSounds.DRIP_LONG, SoundCategory.PLAYERS, 0.5F, 1F); + } else { + player.sendMessage(new TranslatableText("You have no right!"), true); + world.playSoundFromEntity(null, target, SoundEvents.UI_BUTTON_CLICK, SoundCategory.PLAYERS, 0.5F, 1F); + } + + if (!world.isClient()) { + IncubusPlayerData.PLAYER_DATA_KEY.sync(player); + } + + return ActionResult.success(world.isClient()); + + } + default: + return ActionResult.PASS; + } + + } + + return ActionResult.PASS; + } + + @Override + public ActionResult useOnBlock(ItemUsageContext context) { + var pos = context.getBlockPos(); + var world = context.getWorld(); + var mode = getMode(context.getStack()); + var sneaking = Optional.ofNullable(context.getPlayer()).map(PlayerEntity::isSneaking).orElse(false); + var state = world.getBlockState(pos); + var block = state.getBlock(); + + if (mode == Mode.MUNDANE) { + if (sneaking) { + if (context.getSide() == Direction.DOWN) { + return ActionResult.PASS; + } else { + PlayerEntity playerEntity = context.getPlayer(); + BlockState blockState2 = PathStateAccessor.getPathStates().get(state.getBlock()); + BlockState blockState3 = null; + if (blockState2 != null && world.getBlockState(pos.up()).isAir()) { + world.playSound(playerEntity, pos, SoundEvents.ITEM_SHOVEL_FLATTEN, SoundCategory.BLOCKS, 1.0F, 1.0F); + blockState3 = blockState2; + } else if (state.getBlock() instanceof CampfireBlock && (Boolean) state.get(CampfireBlock.LIT)) { + if (!world.isClient()) { + world.syncWorldEvent(null, 1009, pos, 0); + } + + CampfireBlock.extinguish(context.getPlayer(), world, pos, state); + blockState3 = state.with(CampfireBlock.LIT, false); + } + + if (blockState3 != null) { + if (!world.isClient) { + world.setBlockState(pos, blockState3, 11); + if (playerEntity != null) { + context.getStack().damage(1, playerEntity, (p) -> { + p.sendToolBreakStatus(context.getHand()); + }); + } + } + + return ActionResult.success(world.isClient); + } else { + return ActionResult.PASS; + } + } + + } + + return super.useOnBlock(context); + } else if (mode == Mode.LIFE) { + BoneMealItem.createParticles(world, pos, 0); + + if (SAPLINGS.contains(block)) { + if (block == Blocks.FLOWERING_AZALEA) { + world.setBlockState(pos, Blocks.OAK_SAPLING.getDefaultState()); + } else { + world.setBlockState(pos, SAPLINGS.get(SAPLINGS.indexOf(block) + 1).getDefaultState()); + } + + world.playSound(null, pos, SoundEvents.BLOCK_SHROOMLIGHT_PLACE, SoundCategory.BLOCKS, 1, 1); + } + + if (block instanceof Fertilizable fertilizable && world.getRandom().nextFloat() < 0.1F) { + if (fertilizable.isFertilizable(world, pos, state, world.isClient()) && !world.isClient()) + fertilizable.grow((ServerWorld) world, world.getRandom(), pos, state); + } + } + + return ActionResult.FAIL; + } + + + public static Mode getMode(ItemStack stack) { + var id = stack.getOrCreateNbt().getString("mode"); + if (id.isEmpty()) { + stack.getOrCreateNbt().putString("mode", "MUNDANE"); + return Mode.MUNDANE; + } + return Mode.valueOf(id); + } + + public static void setMode(ItemStack stack, Mode mode) { + stack.getOrCreateNbt().putString("mode", mode.name()); + } + + public static void cycleMode(ItemStack stack) { + setMode(stack, getMode(stack).next()); + } + + @Override + public Text getName() { + var name = super.getName(); + return name.getWithStyle(name.getStyle().withColor(0xffb0b3)).get(0); + } + + @Override + public Text getName(ItemStack stack) { + var name = super.getName(stack); + return name.getWithStyle(name.getStyle().withColor(0xffb0b3)).get(0); + } + + @Override + public void appendTooltip(ItemStack stack, @Nullable World world, List tooltip, TooltipContext context) { + tooltip.add(new TranslatableText("§f§oFor The Worthy")); + tooltip.add(new TranslatableText("§olady azzy's blushing staff").styled(style -> style.withColor(0xffb0b3))); + tooltip.add(getMode(stack).name); + super.appendTooltip(stack, world, tooltip, context); + } + + @Override + public boolean hasGlint(ItemStack stack) { + return false; + } + + static { + SAPLINGS = new ArrayList<>(); + SAPLINGS.add(Blocks.OAK_SAPLING); + SAPLINGS.add(Blocks.BIRCH_SAPLING); + SAPLINGS.add(Blocks.SPRUCE_SAPLING); + SAPLINGS.add(Blocks.DARK_OAK_SAPLING); + SAPLINGS.add(Blocks.ACACIA_SAPLING); + SAPLINGS.add(Blocks.JUNGLE_SAPLING); + SAPLINGS.add(Blocks.AZALEA); + SAPLINGS.add(Blocks.FLOWERING_AZALEA); + } + + private enum Mode { + MUNDANE("mundane", 0x9faebd), + GIFT("charitable", 0xcf91ff), + BLESS("anointing", 0x70ffcd), + CURSE("emnity", 0xd83a71), + VANISH("illusionary", 0xbce5de), + LIFE("vitalizing", 0xffb5c3), + SANS("sans", 0xffc552), + WORTHY("righteous", 0xedfcff); + + public final Text name; + + Mode(String name, int color) { + this.name = new LiteralText(name).styled(style -> style.withColor(color).withItalic(true)); + + } + + public Mode next() { + var nextOrdinal = this == WORTHY ? 0 : ordinal() + 1; + return values()[nextOrdinal]; + } + } } diff --git a/src/main/java/net/id/incubus_core/misc/item/IncubusCoreItems.java b/src/main/java/net/id/incubus_core/misc/item/IncubusCoreItems.java index cb4fee0..1cb4ffc 100644 --- a/src/main/java/net/id/incubus_core/misc/item/IncubusCoreItems.java +++ b/src/main/java/net/id/incubus_core/misc/item/IncubusCoreItems.java @@ -1,7 +1,6 @@ package net.id.incubus_core.misc.item; import net.fabricmc.fabric.api.item.v1.FabricItemSettings; -import net.id.incubus_core.misc.IncubusSounds; import net.id.incubus_core.misc.IncubusToolMaterials; import net.minecraft.entity.EquipmentSlot; import net.minecraft.item.Item; @@ -18,12 +17,7 @@ public class IncubusCoreItems { public static final FoxEffigyItem FOX_EFFIGY = new FoxEffigyItem(new FabricItemSettings().maxCount(1)); public static final BerryBranchItem BERRY_BRANCH = new BerryBranchItem(new FabricItemSettings().maxCount(1).food(IncubusFoodComponents.BERRY_BRANCH)); - - public static final IncubusMusicDiscItem DUPED_SHOVELS = new IncubusMusicDiscItem(0, IncubusSounds.DUPED_SHOVELS, new FabricItemSettings().maxCount(1).fireproof().rarity(Rarity.RARE)); - public static final IncubusMusicDiscItem VINESUS = new IncubusMusicDiscItem(0, IncubusSounds.VINESUS, new FabricItemSettings().maxCount(1).fireproof().rarity(Rarity.RARE)); - public static final IncubusMusicDiscItem DECLINE = new IncubusMusicDiscItem(0, IncubusSounds.DECLINE, new FabricItemSettings().maxCount(1).fireproof().rarity(Rarity.EPIC)); - public static final IncubusMusicDiscItem RIPPLE = new IncubusMusicDiscItem(0, IncubusSounds.COSMIC_OCEAN, new FabricItemSettings().maxCount(1).fireproof().rarity(Rarity.EPIC)); - + public static final Item MOBILK_1 = new Item(new FabricItemSettings().rarity(Rarity.UNCOMMON).food(IncubusFoodComponents.MOBILK_1)); public static final Item LEAN = new Item(new FabricItemSettings().rarity(Rarity.UNCOMMON).food(IncubusFoodComponents.LEAN)); public static final Item RAT_POISON = new Item(new FabricItemSettings().rarity(Rarity.UNCOMMON).food(IncubusFoodComponents.RAT_POISON)); @@ -37,13 +31,8 @@ public static void init() { registerItem("fox_effigy", FOX_EFFIGY); registerItem("everfruiting_berry_branch", BERRY_BRANCH); registerItem("debug_flame", DEBUG_FLAME_ITEM); - registerItem("sacred_disc_1", DUPED_SHOVELS); - registerItem("sacred_disc_2", VINESUS); - registerItem("legend_1", DECLINE); - registerItem("legend_2", RIPPLE); registerItem("mobilk-1", MOBILK_1); registerItem("lean", LEAN); registerItem("rat_poison", RAT_POISON); - } } diff --git a/src/main/java/net/id/incubus_core/mixin/world/gen/GeneratorOptionsMixin.java b/src/main/java/net/id/incubus_core/mixin/world/gen/GeneratorOptionsMixin.java deleted file mode 100644 index d890f5f..0000000 --- a/src/main/java/net/id/incubus_core/mixin/world/gen/GeneratorOptionsMixin.java +++ /dev/null @@ -1,25 +0,0 @@ -package net.id.incubus_core.mixin.world.gen; - -import com.mojang.serialization.MapCodec; -import com.mojang.serialization.codecs.PrimitiveCodec; -import net.id.incubus_core.util.SeedSupplier; -import net.minecraft.world.gen.GeneratorOptions; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Redirect; - -@Mixin(GeneratorOptions.class) -public abstract class GeneratorOptionsMixin { - // private static synthetic method_28606(Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;)Lcom/mojang/datafixers/kinds/App; - @Redirect( - method = "method_28606(Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;)Lcom/mojang/datafixers/kinds/App;", - at = @At( - value = "INVOKE", - target = "Lcom/mojang/serialization/codecs/PrimitiveCodec;fieldOf(Ljava/lang/String;)Lcom/mojang/serialization/MapCodec;", - ordinal = 0 - ) - ) - private static MapCodec giveUsRandomSeeds(PrimitiveCodec codec, final String name) { - return codec.fieldOf(name).orElseGet(SeedSupplier::getSeed); - } -} diff --git a/src/main/java/net/id/incubus_core/mixin/world/gen/chunk/NoiseChunkGeneratorMixin.java b/src/main/java/net/id/incubus_core/mixin/world/gen/chunk/NoiseChunkGeneratorMixin.java deleted file mode 100644 index bb6e2de..0000000 --- a/src/main/java/net/id/incubus_core/mixin/world/gen/chunk/NoiseChunkGeneratorMixin.java +++ /dev/null @@ -1,63 +0,0 @@ -package net.id.incubus_core.mixin.world.gen.chunk; - -import com.mojang.serialization.MapCodec; -import com.mojang.serialization.codecs.PrimitiveCodec; -import net.id.incubus_core.util.SeedSupplier; -import net.minecraft.structure.StructureSet; -import net.minecraft.util.registry.Registry; -import net.minecraft.util.registry.RegistryEntryList; -import net.minecraft.world.biome.source.BiomeSource; -import net.minecraft.world.gen.chunk.ChunkGenerator; -import net.minecraft.world.gen.chunk.NoiseChunkGenerator; -import org.objectweb.asm.Opcodes; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Unique; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.ModifyVariable; -import org.spongepowered.asm.mixin.injection.Redirect; - -import java.util.Optional; - -@Mixin(NoiseChunkGenerator.class) -public abstract class NoiseChunkGeneratorMixin extends ChunkGenerator { - @Unique private static long LAST_SEED = SeedSupplier.MARKER; - - @SuppressWarnings("OptionalUsedAsFieldOrParameterType") - public NoiseChunkGeneratorMixin(Registry registry, Optional> optional, BiomeSource biomeSource) { - super(registry, optional, biomeSource); - } - - - @Redirect( - method = "method_28550(Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;)Lcom/mojang/datafixers/kinds/App;", - at = @At( - value = "INVOKE", - target = "Lcom/mojang/serialization/codecs/PrimitiveCodec;fieldOf(Ljava/lang/String;)Lcom/mojang/serialization/MapCodec;", - ordinal = 0 - ) - ) - private static MapCodec giveUsRandomSeeds(PrimitiveCodec codec, final String name) { - return codec.fieldOf(name).orElseGet(SeedSupplier::getSeed); - } - - @ModifyVariable( - method = "(Lnet/minecraft/util/registry/Registry;Lnet/minecraft/util/registry/Registry;Lnet/minecraft/world/biome/source/BiomeSource;Lnet/minecraft/world/biome/source/BiomeSource;JLnet/minecraft/util/registry/RegistryEntry;)V", - at = @At( - value = "FIELD", - target = "Lnet/minecraft/world/gen/chunk/NoiseChunkGenerator;seed:J", - opcode = Opcodes.PUTFIELD, - shift = At.Shift.AFTER - ), - ordinal = 0, - argsOnly = true - ) - private long replaceSeed(long seed) { - if (seed == SeedSupplier.MARKER) { - return LAST_SEED; - } else { - LAST_SEED = seed; - } - - return seed; - } -} diff --git a/src/main/resources/assets/incubus_core/lang/en_us.json b/src/main/resources/assets/incubus_core/lang/en_us.json index 4f8c906..43a8582 100644 --- a/src/main/resources/assets/incubus_core/lang/en_us.json +++ b/src/main/resources/assets/incubus_core/lang/en_us.json @@ -7,12 +7,6 @@ "item.incubus_core.fox_effigy": "Divine Fox Effigy", "item.incubus_core.everfruiting_berry_branch": "Venerable Everfruiting Sweet Berry Sprig", "item.incubus_core.debug_flame": "§k§oBig Succubus Cock", - "item.incubus_core.sacred_disc_1.desc": "duped_shovels.tradetf.exe.ogg", - "item.incubus_core.sacred_disc_2.desc": "desktop_disappointment.brother.mp3.exe", - "item.incubus_core.legend_1": "Decline", - "item.incubus_core.legend_2": "Ripple", - "item.incubus_core.legend_1.desc": "§oFromsoft - kings field", - "item.incubus_core.legend_2.desc": "§oEirik Suhrke - spelunky 2", "item.incubus_core.mobilk-1": "Mobilk-1", "item.incubus_core.lean": "LEAN!!!", "item.incubus_core.rat_poison": "§kRat Poison", diff --git a/src/main/resources/assets/incubus_core/sounds.json b/src/main/resources/assets/incubus_core/sounds.json index 9d3e7fb..4b2e687 100644 --- a/src/main/resources/assets/incubus_core/sounds.json +++ b/src/main/resources/assets/incubus_core/sounds.json @@ -1,10 +1,4 @@ { - "duped_shovels": { - "subtitle": "incubus_core.subtitles.duped_shovels", - "sounds": [ - "incubus_core:duped_shovels" - ] - }, "ahh": { "subtitle": "incubus_core.subtitles.ahh", "sounds": [ @@ -48,18 +42,6 @@ "incubus_core:bone" ] }, - "cosmic_ocean": { - "subtitle": "incubus_core.subtitles.cosmic_ocena", - "sounds": [ - "incubus_core:cosmic_ocean" - ] - }, - "decline": { - "subtitle": "incubus_core.subtitles.decline", - "sounds": [ - "incubus_core:decline" - ] - }, "drip": { "subtitle": "incubus_core.subtitles.drip", "sounds": [ @@ -71,17 +53,5 @@ "sounds": [ "incubus_core:drip_long" ] - }, - "trash_isaac": { - "subtitle": "incubus_core.subtitles.trash_isaac", - "sounds": [ - "incubus_core:trash_isaac" - ] - }, - "vinesus": { - "subtitle": "incubus_core.subtitles.vinesus", - "sounds": [ - "incubus_core:vinesus" - ] } } \ No newline at end of file diff --git a/src/main/resources/assets/incubus_core/sounds/cosmic_ocean.ogg b/src/main/resources/assets/incubus_core/sounds/cosmic_ocean.ogg deleted file mode 100644 index f98e2a5..0000000 Binary files a/src/main/resources/assets/incubus_core/sounds/cosmic_ocean.ogg and /dev/null differ diff --git a/src/main/resources/assets/incubus_core/sounds/decline.ogg b/src/main/resources/assets/incubus_core/sounds/decline.ogg deleted file mode 100644 index 09741e3..0000000 Binary files a/src/main/resources/assets/incubus_core/sounds/decline.ogg and /dev/null differ diff --git a/src/main/resources/assets/incubus_core/sounds/duped_shovels.ogg b/src/main/resources/assets/incubus_core/sounds/duped_shovels.ogg deleted file mode 100644 index c841401..0000000 Binary files a/src/main/resources/assets/incubus_core/sounds/duped_shovels.ogg and /dev/null differ diff --git a/src/main/resources/assets/incubus_core/sounds/trash_isaac.ogg b/src/main/resources/assets/incubus_core/sounds/trash_isaac.ogg deleted file mode 100644 index 70aff09..0000000 Binary files a/src/main/resources/assets/incubus_core/sounds/trash_isaac.ogg and /dev/null differ diff --git a/src/main/resources/assets/incubus_core/sounds/vinesus.ogg b/src/main/resources/assets/incubus_core/sounds/vinesus.ogg deleted file mode 100644 index b6b4c05..0000000 Binary files a/src/main/resources/assets/incubus_core/sounds/vinesus.ogg and /dev/null differ