This file contains hidden or 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
package com.teamacronymcoders.essence.capabilities.itemstack; | |
import com.teamacronymcoders.essence.api.holder.ModifierHolder; | |
import com.teamacronymcoders.essence.api.holder.ModifierInstance; | |
import com.teamacronymcoders.essence.api.modified.IModified; | |
import com.teamacronymcoders.essence.api.modifier.core.Modifier; | |
import com.teamacronymcoders.essence.utils.helpers.EssenceItemstackModifierHelpers; | |
import net.minecraft.item.ItemStack; | |
import net.minecraft.nbt.ListNBT; | |
import net.minecraftforge.common.util.Constants; |
This file contains hidden or 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
Hey guys, so I've got a question for the modders/forge people in chat :P | |
So I decided to look into adding my own Stat (Statistic) to the game for when you "Stasis" blocks/TE's using my wrench. | |
While doing this I noticed there isn't a really "clean" way of doing it since there isn't a proper "Stat" ForgeRegistry, and all the methods for Stats are private, and such. | |
I did some code digging into other mods trying to find how others were doing it, and the best approach I could find was not exactly "clean" by forge standards. | |
I ended-up doing this: | |
```java | |
public class EssenceStats { | |
public static final EssenceStats INSTANCE = new EssenceStats(); |
This file contains hidden or 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
package com.teamacronymcoders.essence.items.misc.wrench; | |
import com.teamacronymcoders.essence.Essence; | |
import net.minecraft.block.BlockState; | |
import net.minecraft.block.Blocks; | |
import net.minecraft.client.util.ITooltipFlag; | |
import net.minecraft.entity.item.ItemEntity; | |
import net.minecraft.entity.player.PlayerEntity; | |
import net.minecraft.item.Item; | |
import net.minecraft.item.ItemStack; |
This file contains hidden or 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
package com.teamacronymcoders.essence.serializable.loot; | |
import com.google.gson.JsonObject; | |
import com.teamacronymcoders.essence.utils.config.EssenceModifierConfig; | |
import net.minecraft.item.Item; | |
import net.minecraft.item.ItemStack; | |
import net.minecraft.tags.ItemTags; | |
import net.minecraft.tags.Tag; | |
import net.minecraft.util.ResourceLocation; | |
import net.minecraft.world.storage.loot.LootContext; |
This file contains hidden or 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
public static JsonElement serializeEffectInstance(EffectInstance instance) { | |
final JsonObject object = new JsonObject(); | |
object.addProperty("effect", instance.getPotion().getRegistryName().toString()); | |
object.addProperty("duration", instance.getDuration()); | |
final JsonObject propertiesElement = new JsonObject(); | |
if (instance.getAmplifier() > 0) { | |
propertiesElement.addProperty("amplifier", instance.getAmplifier()); | |
propertiesElement.addProperty("ambient", instance.isAmbient()); | |
propertiesElement.addProperty("showParticles", instance.doesShowParticles()); | |
propertiesElement.addProperty("showIcon", instance.isShowIcon()); |
This file contains hidden or 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
{ | |
"inputList": [ | |
{ | |
"tag": "minecraft:wool" | |
}, | |
{ | |
"tag": "minecraft:anvil" | |
}, | |
{ | |
"tag": "minecraft:arrows" |
This file contains hidden or 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
{ | |
"from": "minecraft:coarse_dirt", | |
"to": { | |
"block": "minecraft:farmland", | |
"properties": { | |
"moisture": "0" | |
} | |
}, | |
"type": "essence:hoe_tilling" | |
} |
This file contains hidden or 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
---- Minecraft Crash Report ---- | |
// Uh... Did I do that? | |
Time: 2020-03-20 19:44 | |
Description: Exception in server tick loop | |
java.lang.StackOverflowError: Exception in server tick loop | |
at java.util.stream.StreamSupport.intStream(StreamSupport.java:139) ~[?:1.8.0_201] {} | |
at java.util.stream.IntStream.range(IntStream.java:798) ~[?:1.8.0_201] {} | |
at com.google.common.collect.CollectSpliterators.indexed(CollectSpliterators.java:94) ~[guava-21.0.jar:?] {} |
This file contains hidden or 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
package com.teamacronymcoders.essence.api.holder; | |
import com.teamacronymcoders.essence.api.modifier.core.CoreModifier; | |
import com.teamacronymcoders.essence.api.tool.IModified; | |
import net.minecraft.nbt.CompoundNBT; | |
import net.minecraft.nbt.ListNBT; | |
import net.minecraftforge.common.util.Constants; | |
import net.minecraftforge.common.util.INBTSerializable; | |
import javax.annotation.Nonnull; |
This file contains hidden or 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
package com.teamacronymcoders.essence.utils.helpers; | |
import com.teamacronymcoders.essence.Essence; | |
import com.teamacronymcoders.essence.api.capabilities.EssenceCapabilities; | |
import com.teamacronymcoders.essence.api.tool.IModifierHolder; | |
import com.teamacronymcoders.essence.api.tool.ModifierInstance; | |
import com.teamacronymcoders.essence.api.modifier.core.Modifier; | |
import com.teamacronymcoders.essence.api.tool.IModifiedTool; | |
import com.teamacronymcoders.essence.modifier.cosmetic.EnchantedModifier; | |
import com.teamacronymcoders.essence.utils.registration.EssenceRegistries; |