mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Eating glow berries adds glow effect
This commit is contained in:
committed by
granny
parent
e09623ae80
commit
c62c4b3ec4
@@ -1,71 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
|
||||||
Date: Mon, 28 Jun 2021 14:07:35 -0500
|
|
||||||
Subject: [PATCH] Eating glow berries adds glow effect
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/net/minecraft/world/item/Items.java b/net/minecraft/world/item/Items.java
|
|
||||||
index 41fbe61268c0a16078b5f846ab12bde172872ff7..e2f1d3f349e3f82e7a565363c42818e5cf6c4d61 100644
|
|
||||||
--- a/net/minecraft/world/item/Items.java
|
|
||||||
+++ b/net/minecraft/world/item/Items.java
|
|
||||||
@@ -1987,7 +1987,7 @@ public class Items {
|
|
||||||
"sweet_berries", createBlockItemWithCustomItemName(Blocks.SWEET_BERRY_BUSH), new Item.Properties().food(Foods.SWEET_BERRIES)
|
|
||||||
);
|
|
||||||
public static final Item GLOW_BERRIES = registerItem(
|
|
||||||
- "glow_berries", createBlockItemWithCustomItemName(Blocks.CAVE_VINES), new Item.Properties().food(Foods.GLOW_BERRIES)
|
|
||||||
+ "glow_berries", settings -> new org.purpurmc.purpur.item.GlowBerryItem(Blocks.CAVE_VINES, settings.useItemDescriptionPrefix()), new Item.Properties().food(Foods.GLOW_BERRIES) // Purpur - Eating glow berries adds glow effect
|
|
||||||
);
|
|
||||||
public static final Item CAMPFIRE = registerBlock(Blocks.CAMPFIRE, settings -> settings.component(DataComponents.CONTAINER, ItemContainerContents.EMPTY));
|
|
||||||
public static final Item SOUL_CAMPFIRE = registerBlock(
|
|
||||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
||||||
index 51609ddc3890b5a6a9106b6d2960697723651ec2..1e5bb7dc174bd43479534a9cab0b3bf05695ae51 100644
|
|
||||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
||||||
@@ -214,6 +214,7 @@ public class PurpurWorldConfig {
|
|
||||||
public int enderPearlCooldown = 20;
|
|
||||||
public int enderPearlCooldownCreative = 20;
|
|
||||||
public float enderPearlEndermiteChance = 0.05F;
|
|
||||||
+ public int glowBerriesEatGlowDuration = 0;
|
|
||||||
private void itemSettings() {
|
|
||||||
itemImmuneToCactus.clear();
|
|
||||||
getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> {
|
|
||||||
@@ -260,6 +261,7 @@ public class PurpurWorldConfig {
|
|
||||||
enderPearlCooldown = getInt("gameplay-mechanics.item.ender-pearl.cooldown", enderPearlCooldown);
|
|
||||||
enderPearlCooldownCreative = getInt("gameplay-mechanics.item.ender-pearl.creative-cooldown", enderPearlCooldownCreative);
|
|
||||||
enderPearlEndermiteChance = (float) getDouble("gameplay-mechanics.item.ender-pearl.endermite-spawn-chance", enderPearlEndermiteChance);
|
|
||||||
+ glowBerriesEatGlowDuration = getInt("gameplay-mechanics.item.glow_berries.eat-glow-duration", glowBerriesEatGlowDuration);
|
|
||||||
}
|
|
||||||
|
|
||||||
public double minecartMaxSpeed = 0.4D;
|
|
||||||
diff --git a/src/main/java/org/purpurmc/purpur/item/GlowBerryItem.java b/src/main/java/org/purpurmc/purpur/item/GlowBerryItem.java
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000000000000000000000000000000000000..b257f35caa13b660854cf17f41fd8fba1d56c458
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/item/GlowBerryItem.java
|
|
||||||
@@ -0,0 +1,26 @@
|
|
||||||
+package org.purpurmc.purpur.item;
|
|
||||||
+
|
|
||||||
+import net.minecraft.server.level.ServerPlayer;
|
|
||||||
+import net.minecraft.world.effect.MobEffectInstance;
|
|
||||||
+import net.minecraft.world.effect.MobEffects;
|
|
||||||
+import net.minecraft.world.entity.LivingEntity;
|
|
||||||
+import net.minecraft.world.item.BlockItem;
|
|
||||||
+import net.minecraft.world.item.ItemStack;
|
|
||||||
+import net.minecraft.world.level.Level;
|
|
||||||
+import net.minecraft.world.level.block.Block;
|
|
||||||
+import org.bukkit.event.entity.EntityPotionEffectEvent;
|
|
||||||
+
|
|
||||||
+public class GlowBerryItem extends BlockItem {
|
|
||||||
+ public GlowBerryItem(Block block, Properties settings) {
|
|
||||||
+ super(block, settings);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public ItemStack finishUsingItem(ItemStack stack, Level world, LivingEntity user) {
|
|
||||||
+ ItemStack result = super.finishUsingItem(stack, world, user);
|
|
||||||
+ if (world.purpurConfig.glowBerriesEatGlowDuration > 0 && user instanceof ServerPlayer player) {
|
|
||||||
+ player.addEffect(new MobEffectInstance(MobEffects.GLOWING, world.purpurConfig.glowBerriesEatGlowDuration), EntityPotionEffectEvent.Cause.FOOD);
|
|
||||||
+ }
|
|
||||||
+ return result;
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
@@ -9,3 +9,12 @@
|
|||||||
public static final Item CREAKING_HEART = registerBlock(Blocks.CREAKING_HEART);
|
public static final Item CREAKING_HEART = registerBlock(Blocks.CREAKING_HEART);
|
||||||
public static final Item CHEST = registerBlock(Blocks.CHEST, properties -> properties.component(DataComponents.CONTAINER, ItemContainerContents.EMPTY));
|
public static final Item CHEST = registerBlock(Blocks.CHEST, properties -> properties.component(DataComponents.CONTAINER, ItemContainerContents.EMPTY));
|
||||||
public static final Item CRAFTING_TABLE = registerBlock(Blocks.CRAFTING_TABLE);
|
public static final Item CRAFTING_TABLE = registerBlock(Blocks.CRAFTING_TABLE);
|
||||||
|
@@ -2010,7 +_,7 @@
|
||||||
|
"sweet_berries", createBlockItemWithCustomItemName(Blocks.SWEET_BERRY_BUSH), new Item.Properties().food(Foods.SWEET_BERRIES)
|
||||||
|
);
|
||||||
|
public static final Item GLOW_BERRIES = registerItem(
|
||||||
|
- "glow_berries", createBlockItemWithCustomItemName(Blocks.CAVE_VINES), new Item.Properties().food(Foods.GLOW_BERRIES)
|
||||||
|
+ "glow_berries", settings -> new org.purpurmc.purpur.item.GlowBerryItem(Blocks.CAVE_VINES, settings.useItemDescriptionPrefix()), new Item.Properties().food(Foods.GLOW_BERRIES) // Purpur - Eating glow berries adds glow effect
|
||||||
|
);
|
||||||
|
public static final Item CAMPFIRE = registerBlock(
|
||||||
|
Blocks.CAMPFIRE, properties -> properties.component(DataComponents.CONTAINER, ItemContainerContents.EMPTY)
|
||||||
|
|||||||
@@ -206,6 +206,7 @@ public class PurpurWorldConfig {
|
|||||||
public int enderPearlCooldown = 20;
|
public int enderPearlCooldown = 20;
|
||||||
public int enderPearlCooldownCreative = 20;
|
public int enderPearlCooldownCreative = 20;
|
||||||
public float enderPearlEndermiteChance = 0.05F;
|
public float enderPearlEndermiteChance = 0.05F;
|
||||||
|
public int glowBerriesEatGlowDuration = 0;
|
||||||
private void itemSettings() {
|
private void itemSettings() {
|
||||||
itemImmuneToCactus.clear();
|
itemImmuneToCactus.clear();
|
||||||
getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> {
|
getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> {
|
||||||
@@ -252,6 +253,7 @@ public class PurpurWorldConfig {
|
|||||||
enderPearlCooldown = getInt("gameplay-mechanics.item.ender-pearl.cooldown", enderPearlCooldown);
|
enderPearlCooldown = getInt("gameplay-mechanics.item.ender-pearl.cooldown", enderPearlCooldown);
|
||||||
enderPearlCooldownCreative = getInt("gameplay-mechanics.item.ender-pearl.creative-cooldown", enderPearlCooldownCreative);
|
enderPearlCooldownCreative = getInt("gameplay-mechanics.item.ender-pearl.creative-cooldown", enderPearlCooldownCreative);
|
||||||
enderPearlEndermiteChance = (float) getDouble("gameplay-mechanics.item.ender-pearl.endermite-spawn-chance", enderPearlEndermiteChance);
|
enderPearlEndermiteChance = (float) getDouble("gameplay-mechanics.item.ender-pearl.endermite-spawn-chance", enderPearlEndermiteChance);
|
||||||
|
glowBerriesEatGlowDuration = getInt("gameplay-mechanics.item.glow_berries.eat-glow-duration", glowBerriesEatGlowDuration);
|
||||||
}
|
}
|
||||||
|
|
||||||
public double minecartMaxSpeed = 0.4D;
|
public double minecartMaxSpeed = 0.4D;
|
||||||
|
|||||||
@@ -0,0 +1,26 @@
|
|||||||
|
package org.purpurmc.purpur.item;
|
||||||
|
|
||||||
|
import net.minecraft.server.level.ServerPlayer;
|
||||||
|
import net.minecraft.world.effect.MobEffectInstance;
|
||||||
|
import net.minecraft.world.effect.MobEffects;
|
||||||
|
import net.minecraft.world.entity.LivingEntity;
|
||||||
|
import net.minecraft.world.item.BlockItem;
|
||||||
|
import net.minecraft.world.item.ItemStack;
|
||||||
|
import net.minecraft.world.level.Level;
|
||||||
|
import net.minecraft.world.level.block.Block;
|
||||||
|
import org.bukkit.event.entity.EntityPotionEffectEvent;
|
||||||
|
|
||||||
|
public class GlowBerryItem extends BlockItem {
|
||||||
|
public GlowBerryItem(Block block, Properties settings) {
|
||||||
|
super(block, settings);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ItemStack finishUsingItem(ItemStack stack, Level world, LivingEntity user) {
|
||||||
|
ItemStack result = super.finishUsingItem(stack, world, user);
|
||||||
|
if (world.purpurConfig.glowBerriesEatGlowDuration > 0 && user instanceof ServerPlayer player) {
|
||||||
|
player.addEffect(new MobEffectInstance(MobEffects.GLOWING, world.purpurConfig.glowBerriesEatGlowDuration), EntityPotionEffectEvent.Cause.FOOD);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user