make everything use the hexagonal particles (why did i have it otherwise?)

This commit is contained in:
petrak@ 2023-02-16 15:12:19 -06:00
parent 07ab36ad34
commit 182aabd032
17 changed files with 77 additions and 68 deletions

View file

@ -24,46 +24,42 @@ public class ConjureParticle extends TextureSheetParticle {
private static final Random RANDOM = new Random(); private static final Random RANDOM = new Random();
private final SpriteSet sprites; private final SpriteSet sprites;
private final boolean light;
ConjureParticle(ClientLevel pLevel, double x, double y, double z, double dx, double dy, double dz, ConjureParticle(ClientLevel pLevel, double x, double y, double z, double dx, double dy, double dz,
SpriteSet pSprites, int color, boolean light) { SpriteSet pSprites, int color) {
super(pLevel, x, y, z, dx, dy, dz); super(pLevel, x, y, z, dx, dy, dz);
this.light = light; this.quadSize *= 0.9f;
this.quadSize *= light ? 0.9f : 0.75f;
this.setParticleSpeed(dx, dy, dz); this.setParticleSpeed(dx, dy, dz);
var r = FastColor.ARGB32.red(color); var r = FastColor.ARGB32.red(color);
var g = FastColor.ARGB32.green(color); var g = FastColor.ARGB32.green(color);
var b = FastColor.ARGB32.blue(color); var b = FastColor.ARGB32.blue(color);
this.setColor(r / 255f, g / 255f, b / 255f); this.setColor(r / 255f, g / 255f, b / 255f);
this.setAlpha(light ? 0.3f : 1.0f); this.setAlpha(0.3f);
this.friction = 0.96F; this.friction = 0.96F;
this.gravity = light && dy != 0 && dx != 0 && dz != 0 ? -0.01F : 0F; this.gravity = dy != 0 && dx != 0 && dz != 0 ? -0.01F : 0F;
this.speedUpWhenYMotionIsBlocked = true; this.speedUpWhenYMotionIsBlocked = true;
this.sprites = pSprites; this.sprites = pSprites;
this.roll = RANDOM.nextFloat(360); this.roll = RANDOM.nextFloat(360);
this.oRoll = this.roll; this.oRoll = this.roll;
this.lifetime = (int) ((light ? 64.0D : 32.0D) / ((Math.random() + 3f) * 0.25f)); this.lifetime = (int) (64.0 / ((Math.random() + 3f) * 0.25f));
this.hasPhysics = false; this.hasPhysics = false;
this.setSpriteFromAge(pSprites); this.setSpriteFromAge(pSprites);
} }
public @NotNull ParticleRenderType getRenderType() { public @NotNull ParticleRenderType getRenderType() {
return this.light ? LIGHT_RENDER_TYPE : CONJURE_RENDER_TYPE; return CONJURE_RENDER_TYPE;
} }
public void tick() { public void tick() {
super.tick(); super.tick();
this.setSpriteFromAge(this.sprites); this.setSpriteFromAge(this.sprites);
this.alpha = 1.0f - ((float) this.age / (float) this.lifetime); this.alpha = 1.0f - ((float) this.age / (float) this.lifetime);
if (light) { this.alpha *= 0.3f;
this.alpha *= 0.3f; this.quadSize *= 0.96f;
this.quadSize *= 0.96f;
}
} }
public void setSpriteFromAge(@NotNull SpriteSet pSprite) { public void setSpriteFromAge(@NotNull SpriteSet pSprite) {
@ -86,15 +82,14 @@ public class ConjureParticle extends TextureSheetParticle {
@Nullable @Nullable
@Override @Override
public Particle createParticle(ConjureParticleOptions type, ClientLevel level, public Particle createParticle(ConjureParticleOptions type, ClientLevel level,
double pX, double pY, double pZ, double pX, double pY, double pZ,
double pXSpeed, double pYSpeed, double pZSpeed) { double pXSpeed, double pYSpeed, double pZSpeed) {
return new ConjureParticle(level, pX, pY, pZ, pXSpeed, pYSpeed, pZSpeed, this.sprite, type.color(), return new ConjureParticle(level, pX, pY, pZ, pXSpeed, pYSpeed, pZSpeed, this.sprite, type.color());
type.isLight());
} }
} }
// https://github.com/VazkiiMods/Botania/blob/db85d778ab23f44c11181209319066d1f04a9e3d/Xplat/src/main/java/vazkii/botania/client/fx/FXWisp.java // https://github.com/VazkiiMods/Botania/blob/db85d778ab23f44c11181209319066d1f04a9e3d/Xplat/src/main/java/vazkii/botania/client/fx/FXWisp.java
private record ConjureRenderType(boolean light) implements ParticleRenderType { private record ConjureRenderType() implements ParticleRenderType {
@Override @Override
public void begin(BufferBuilder buf, TextureManager texMan) { public void begin(BufferBuilder buf, TextureManager texMan) {
Minecraft.getInstance().gameRenderer.lightTexture().turnOnLightLayer(); Minecraft.getInstance().gameRenderer.lightTexture().turnOnLightLayer();
@ -104,7 +99,7 @@ public class ConjureParticle extends TextureSheetParticle {
RenderSystem.setShaderTexture(0, TextureAtlas.LOCATION_PARTICLES); RenderSystem.setShaderTexture(0, TextureAtlas.LOCATION_PARTICLES);
var tex = texMan.getTexture(TextureAtlas.LOCATION_PARTICLES); var tex = texMan.getTexture(TextureAtlas.LOCATION_PARTICLES);
IClientXplatAbstractions.INSTANCE.setFilterSave(tex, this.light, false); IClientXplatAbstractions.INSTANCE.setFilterSave(tex, true, false);
buf.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.PARTICLE); buf.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.PARTICLE);
RenderSystem.enableDepthTest(); RenderSystem.enableDepthTest();
} }
@ -113,7 +108,7 @@ public class ConjureParticle extends TextureSheetParticle {
public void end(Tesselator tess) { public void end(Tesselator tess) {
tess.end(); tess.end();
IClientXplatAbstractions.INSTANCE.restoreLastFilter( IClientXplatAbstractions.INSTANCE.restoreLastFilter(
Minecraft.getInstance().getTextureManager().getTexture(TextureAtlas.LOCATION_PARTICLES) Minecraft.getInstance().getTextureManager().getTexture(TextureAtlas.LOCATION_PARTICLES)
); );
RenderSystem.disableBlend(); RenderSystem.disableBlend();
RenderSystem.depthMask(true); RenderSystem.depthMask(true);
@ -121,10 +116,9 @@ public class ConjureParticle extends TextureSheetParticle {
@Override @Override
public String toString() { public String toString() {
return HexAPI.MOD_ID + (light ? ":light" : ":conjure"); return HexAPI.MOD_ID + ":conjure";
} }
} }
public static final ConjureRenderType CONJURE_RENDER_TYPE = new ConjureRenderType(false); public static final ConjureRenderType CONJURE_RENDER_TYPE = new ConjureRenderType();
public static final ConjureRenderType LIGHT_RENDER_TYPE = new ConjureRenderType(true);
} }

View file

@ -1,13 +1,20 @@
package at.petrak.hexcasting.common.blocks; package at.petrak.hexcasting.common.blocks;
import at.petrak.hexcasting.common.blocks.entity.BlockEntityQuenchedAllay; import at.petrak.hexcasting.common.blocks.entity.BlockEntityQuenchedAllay;
import at.petrak.hexcasting.common.particles.ConjureParticleOptions;
import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.core.particles.ParticleOptions;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.Mth;
import net.minecraft.util.RandomSource;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.EntityBlock; import net.minecraft.world.level.block.EntityBlock;
import net.minecraft.world.level.block.RenderShape; import net.minecraft.world.level.block.RenderShape;
import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.Vec3;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import static at.petrak.hexcasting.api.HexAPI.modLoc; import static at.petrak.hexcasting.api.HexAPI.modLoc;
@ -31,4 +38,27 @@ public class BlockQuenchedAllay extends Block implements EntityBlock {
public RenderShape getRenderShape(BlockState state) { public RenderShape getRenderShape(BlockState state) {
return RenderShape.INVISIBLE; return RenderShape.INVISIBLE;
} }
@Override
public void animateTick(BlockState state, Level level, BlockPos pos, RandomSource rand) {
ParticleOptions options = new ConjureParticleOptions(0x8932b8);
Vec3 center = Vec3.atCenterOf(pos);
for (Direction direction : Direction.values()) {
int dX = direction.getStepX();
int dY = direction.getStepY();
int dZ = direction.getStepZ();
int count = rand.nextInt(10) / 4;
for (int i = 0; i < count; i++) {
double pX = center.x + (dX == 0 ? Mth.nextDouble(rand, -0.5D, 0.5D) : (double) dX * 0.55D);
double pY = center.y + (dY == 0 ? Mth.nextDouble(rand, -0.5D, 0.5D) : (double) dY * 0.55D);
double pZ = center.z + (dZ == 0 ? Mth.nextDouble(rand, -0.5D, 0.5D) : (double) dZ * 0.55D);
double vPerp = Mth.nextDouble(rand, 0.0, 0.01);
double vX = vPerp * dX;
double vY = vPerp * dY;
double vZ = vPerp * dZ;
level.addParticle(options, pX, pY, pZ, vX, vY, vZ);
}
}
}
} }

View file

@ -32,7 +32,7 @@ public class BlockSconce extends AmethystBlock {
var cy = pPos.getY() + 0.5; var cy = pPos.getY() + 0.5;
var cz = pPos.getZ() + 0.5; var cz = pPos.getZ() + 0.5;
int[] colors = {0xff_6f4fab, 0xff_b38ef3, 0xff_cfa0f3, 0xff_cfa0f3, 0xff_fffdd5}; int[] colors = {0xff_6f4fab, 0xff_b38ef3, 0xff_cfa0f3, 0xff_cfa0f3, 0xff_fffdd5};
pLevel.addParticle(new ConjureParticleOptions(colors[rand.nextInt(colors.length)], true), cx, cy, cz, pLevel.addParticle(new ConjureParticleOptions(colors[rand.nextInt(colors.length)]), cx, cy, cz,
rand.triangle(-0.01f, 0.01f), rand.triangle(0.01f, 0.05f), rand.triangle(-0.01f, 0.01f)); rand.triangle(-0.01f, 0.01f), rand.triangle(0.01f, 0.05f), rand.triangle(-0.01f, 0.01f));
if (rand.nextFloat() < 0.08f) { if (rand.nextFloat() < 0.08f) {
pLevel.playLocalSound(cx, cy, cz, pLevel.playLocalSound(cx, cy, cz,

View file

@ -31,7 +31,7 @@ public class BlockEntityConjured extends HexBlockEntity {
.add(new Vec3(RANDOM.nextFloat(), RANDOM.nextFloat(), RANDOM.nextFloat()).scale( .add(new Vec3(RANDOM.nextFloat(), RANDOM.nextFloat(), RANDOM.nextFloat()).scale(
RANDOM.nextFloat() * 3))); RANDOM.nextFloat() * 3)));
assert level != null; assert level != null;
level.addParticle(new ConjureParticleOptions(color, false), level.addParticle(new ConjureParticleOptions(color),
pEntity.getX() + (RANDOM.nextFloat() * 0.6D) - 0.3D, pEntity.getX() + (RANDOM.nextFloat() * 0.6D) - 0.3D,
getBlockPos().getY() + (RANDOM.nextFloat() * 0.05D) + 0.95D, getBlockPos().getY() + (RANDOM.nextFloat() * 0.05D) + 0.95D,
pEntity.getZ() + (RANDOM.nextFloat() * 0.6D) - 0.3D, pEntity.getZ() + (RANDOM.nextFloat() * 0.6D) - 0.3D,
@ -50,7 +50,7 @@ public class BlockEntityConjured extends HexBlockEntity {
assert level != null; assert level != null;
if (getBlockState().getBlock() instanceof BlockConjuredLight) { if (getBlockState().getBlock() instanceof BlockConjuredLight) {
if (RANDOM.nextFloat() < 0.5) { if (RANDOM.nextFloat() < 0.5) {
level.addParticle(new ConjureParticleOptions(color, true), level.addParticle(new ConjureParticleOptions(color),
(double) getBlockPos().getX() + 0.45D + (RANDOM.nextFloat() * 0.1D), (double) getBlockPos().getX() + 0.45D + (RANDOM.nextFloat() * 0.1D),
(double) getBlockPos().getY() + 0.45D + (RANDOM.nextFloat() * 0.1D), (double) getBlockPos().getY() + 0.45D + (RANDOM.nextFloat() * 0.1D),
(double) getBlockPos().getZ() + 0.45D + (RANDOM.nextFloat() * 0.1D), (double) getBlockPos().getZ() + 0.45D + (RANDOM.nextFloat() * 0.1D),
@ -60,7 +60,7 @@ public class BlockEntityConjured extends HexBlockEntity {
} }
} else { } else {
if (RANDOM.nextFloat() < 0.2) { if (RANDOM.nextFloat() < 0.2) {
level.addParticle(new ConjureParticleOptions(color, false), level.addParticle(new ConjureParticleOptions(color),
(double) getBlockPos().getX() + RANDOM.nextFloat(), (double) getBlockPos().getX() + RANDOM.nextFloat(),
(double) getBlockPos().getY() + RANDOM.nextFloat(), (double) getBlockPos().getY() + RANDOM.nextFloat(),
(double) getBlockPos().getZ() + RANDOM.nextFloat(), (double) getBlockPos().getZ() + RANDOM.nextFloat(),
@ -78,7 +78,7 @@ public class BlockEntityConjured extends HexBlockEntity {
.add(new Vec3(RANDOM.nextFloat(), RANDOM.nextFloat(), RANDOM.nextFloat()).scale( .add(new Vec3(RANDOM.nextFloat(), RANDOM.nextFloat(), RANDOM.nextFloat()).scale(
RANDOM.nextFloat() * 3))); RANDOM.nextFloat() * 3)));
assert level != null; assert level != null;
level.addParticle(new ConjureParticleOptions(color, false), level.addParticle(new ConjureParticleOptions(color),
entity.getX() + (RANDOM.nextFloat() * 0.8D) - 0.2D, entity.getX() + (RANDOM.nextFloat() * 0.8D) - 0.2D,
getBlockPos().getY() + (RANDOM.nextFloat() * 0.05D) + 0.95D, getBlockPos().getY() + (RANDOM.nextFloat() * 0.05D) + 0.95D,
entity.getZ() + (RANDOM.nextFloat() * 0.8D) - 0.2D, entity.getZ() + (RANDOM.nextFloat() * 0.8D) - 0.2D,

View file

@ -1,8 +1,11 @@
package at.petrak.hexcasting.common.casting.operators.spells.great package at.petrak.hexcasting.common.casting.operators.spells.great
import at.petrak.hexcasting.api.casting.* import at.petrak.hexcasting.api.casting.ParticleSpray
import at.petrak.hexcasting.api.casting.RenderedSpell
import at.petrak.hexcasting.api.casting.castables.SpellAction import at.petrak.hexcasting.api.casting.castables.SpellAction
import at.petrak.hexcasting.api.casting.eval.CastingEnvironment import at.petrak.hexcasting.api.casting.eval.CastingEnvironment
import at.petrak.hexcasting.api.casting.getPlayer
import at.petrak.hexcasting.api.casting.getPositiveDouble
import at.petrak.hexcasting.api.casting.iota.Iota import at.petrak.hexcasting.api.casting.iota.Iota
import at.petrak.hexcasting.api.misc.MediaConstants import at.petrak.hexcasting.api.misc.MediaConstants
import at.petrak.hexcasting.api.player.FlightAbility import at.petrak.hexcasting.api.player.FlightAbility

View file

@ -25,9 +25,7 @@ public class HexParticles {
private static final Map<ResourceLocation, ParticleType<?>> PARTICLES = new LinkedHashMap<>(); private static final Map<ResourceLocation, ParticleType<?>> PARTICLES = new LinkedHashMap<>();
public static final ConjureParticleOptions.Type CONJURE_PARTICLE = register( public static final ConjureParticleOptions.Type CONJURE_PARTICLE = register(
"conjure_block_particle", new ConjureParticleOptions.Type(false)); "conjure_particle", new ConjureParticleOptions.Type(false));
public static final ConjureParticleOptions.Type LIGHT_PARTICLE = register(
"conjure_light_particle", new ConjureParticleOptions.Type(false));
private static <O extends ParticleOptions, T extends ParticleType<O>> T register(String id, T particle) { private static <O extends ParticleOptions, T extends ParticleType<O>> T register(String id, T particle) {
var old = PARTICLES.put(modLoc(id), particle); var old = PARTICLES.put(modLoc(id), particle);
@ -39,12 +37,12 @@ public class HexParticles {
public static class FactoryHandler { public static class FactoryHandler {
public interface Consumer { public interface Consumer {
<T extends ParticleOptions> void register(ParticleType<T> type, Function<SpriteSet, ParticleProvider<T>> constructor); <T extends ParticleOptions> void register(ParticleType<T> type,
Function<SpriteSet, ParticleProvider<T>> constructor);
} }
public static void registerFactories(Consumer consumer) { public static void registerFactories(Consumer consumer) {
consumer.register(CONJURE_PARTICLE, ConjureParticle.Provider::new); consumer.register(CONJURE_PARTICLE, ConjureParticle.Provider::new);
consumer.register(LIGHT_PARTICLE, ConjureParticle.Provider::new);
} }
} }
} }

View file

@ -1,7 +1,7 @@
package at.petrak.hexcasting.common.network; package at.petrak.hexcasting.common.network;
import at.petrak.hexcasting.api.misc.FrozenColorizer;
import at.petrak.hexcasting.api.casting.ParticleSpray; import at.petrak.hexcasting.api.casting.ParticleSpray;
import at.petrak.hexcasting.api.misc.FrozenColorizer;
import at.petrak.hexcasting.common.particles.ConjureParticleOptions; import at.petrak.hexcasting.common.particles.ConjureParticleOptions;
import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBuf;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
@ -96,7 +96,7 @@ public record MsgCastParticleAck(ParticleSpray spray, FrozenColorizer colorizer)
var vel = velUnlen.scale(msg.spray().getVel().length() / 20); var vel = velUnlen.scale(msg.spray().getVel().length() / 20);
Minecraft.getInstance().level.addParticle( Minecraft.getInstance().level.addParticle(
new ConjureParticleOptions(color, false), new ConjureParticleOptions(color),
pos.x, pos.y, pos.z, pos.x, pos.y, pos.z,
vel.x, vel.y, vel.z vel.x, vel.y, vel.z
); );

View file

@ -11,21 +11,20 @@ import net.minecraft.network.FriendlyByteBuf;
import java.util.Locale; import java.util.Locale;
public record ConjureParticleOptions(int color, boolean isLight) implements ParticleOptions { public record ConjureParticleOptions(int color) implements ParticleOptions {
@Override @Override
public ParticleType<?> getType() { public ParticleType<?> getType() {
return (this.isLight ? HexParticles.LIGHT_PARTICLE : HexParticles.CONJURE_PARTICLE); return HexParticles.CONJURE_PARTICLE;
} }
@Override @Override
public void writeToNetwork(FriendlyByteBuf buf) { public void writeToNetwork(FriendlyByteBuf buf) {
buf.writeInt(this.color); buf.writeInt(this.color);
buf.writeBoolean(this.isLight);
} }
@Override @Override
public String writeToString() { public String writeToString() {
return String.format(Locale.ROOT, "%s %s", this.color, this.isLight); return String.format(Locale.ROOT, "%s %s", this.color);
} }
public static final Deserializer<ConjureParticleOptions> DESERIALIZER = new Deserializer<>() { public static final Deserializer<ConjureParticleOptions> DESERIALIZER = new Deserializer<>() {
@ -35,18 +34,14 @@ public record ConjureParticleOptions(int color, boolean isLight) implements Part
reader.expect(' '); reader.expect(' ');
var color = reader.readInt(); var color = reader.readInt();
reader.expect(' '); return new ConjureParticleOptions(color);
var isLight = reader.readBoolean();
return new ConjureParticleOptions(color, isLight);
} }
@Override @Override
public ConjureParticleOptions fromNetwork(ParticleType<ConjureParticleOptions> type, public ConjureParticleOptions fromNetwork(ParticleType<ConjureParticleOptions> type,
FriendlyByteBuf buf) { FriendlyByteBuf buf) {
var col = buf.readInt(); var col = buf.readInt();
var isLight = buf.readBoolean(); return new ConjureParticleOptions(col);
return new ConjureParticleOptions(col, isLight);
} }
}; };
@ -58,8 +53,7 @@ public record ConjureParticleOptions(int color, boolean isLight) implements Part
public static final Codec<ConjureParticleOptions> CODEC = RecordCodecBuilder.create( public static final Codec<ConjureParticleOptions> CODEC = RecordCodecBuilder.create(
instance -> instance.group( instance -> instance.group(
Codec.INT.fieldOf("color") Codec.INT.fieldOf("color")
.forGetter((ConjureParticleOptions o) -> o.color), .forGetter((ConjureParticleOptions o) -> o.color)
Codec.BOOL.fieldOf("isLight").forGetter(ConjureParticleOptions::isLight)
) )
.apply(instance, ConjureParticleOptions::new) .apply(instance, ConjureParticleOptions::new)
); );

View file

@ -21,14 +21,16 @@ import org.spongepowered.asm.mixin.injection.callback.LocalCapture;
public abstract class MixinClientLevel { public abstract class MixinClientLevel {
@Inject(method = "doAnimateTick", @Inject(method = "doAnimateTick",
at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/block/Block;animateTick(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;Lnet/minecraft/util/RandomSource;)V"), at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/block/Block;animateTick" +
"(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/Level;" +
"Lnet/minecraft/core/BlockPos;Lnet/minecraft/util/RandomSource;)V"),
locals = LocalCapture.CAPTURE_FAILSOFT) locals = LocalCapture.CAPTURE_FAILSOFT)
public void addBuddingAmethystParticles(int $$0, int $$1, int $$2, int $$3, RandomSource rand, Block $$5, public void addBuddingAmethystParticles(int $$0, int $$1, int $$2, int $$3, RandomSource rand, Block $$5,
BlockPos.MutableBlockPos pos, CallbackInfo ci, int trueX, int trueY, int trueZ, BlockState state) { BlockPos.MutableBlockPos pos, CallbackInfo ci, int trueX, int trueY, int trueZ, BlockState state) {
ClientLevel self = ((ClientLevel) (Object) this); ClientLevel self = ((ClientLevel) (Object) this);
if (state.is(Blocks.BUDDING_AMETHYST)) { if (state.is(Blocks.BUDDING_AMETHYST)) {
ParticleOptions options = new ConjureParticleOptions(0x8932b8, true); ParticleOptions options = new ConjureParticleOptions(0x8932b8);
Vec3 center = Vec3.atCenterOf(pos); Vec3 center = Vec3.atCenterOf(pos);
for (Direction direction : Direction.values()) { for (Direction direction : Direction.values()) {
int dX = direction.getStepX(); int dX = direction.getStepX();

View file

@ -1,12 +0,0 @@
{
"textures": [
"minecraft:glitter_7",
"minecraft:glitter_6",
"minecraft:glitter_5",
"minecraft:glitter_4",
"minecraft:glitter_3",
"minecraft:glitter_2",
"minecraft:glitter_1",
"minecraft:glitter_0"
]
}

View file

@ -1,4 +1,4 @@
// 1.19.2 2023-02-16T14:39:33.238626068 Tags for minecraft:item // 1.19.2 2023-02-16T15:02:55.372897302 Tags for minecraft:item
5928bad07d3872bb60f29ef4f3c885c8e1967c20 data/hexcasting/tags/items/phial_base.json 5928bad07d3872bb60f29ef4f3c885c8e1967c20 data/hexcasting/tags/items/phial_base.json
fdb48f194d7937ab6b423fa4b90a4d438bf6dd90 data/minecraft/tags/items/wooden_doors.json fdb48f194d7937ab6b423fa4b90a4d438bf6dd90 data/minecraft/tags/items/wooden_doors.json
e5df19a1dc6eadf14cd9b0f0fe45a74330b745e9 data/hexcasting/tags/items/edified_planks.json e5df19a1dc6eadf14cd9b0f0fe45a74330b745e9 data/hexcasting/tags/items/edified_planks.json

View file

@ -1,4 +1,4 @@
// 1.19.2 2023-02-16T14:39:33.233974586 LootTables // 1.19.2 2023-02-16T15:02:55.383534971 LootTables
dec1d3592e82f99d9e059d9c771530f103b2bda5 data/hexcasting/loot_tables/blocks/empty_directrix.json dec1d3592e82f99d9e059d9c771530f103b2bda5 data/hexcasting/loot_tables/blocks/empty_directrix.json
2c42fc5d8c74c98ad15b8bd50f56541fccbef750 data/hexcasting/loot_tables/blocks/edified_tile.json 2c42fc5d8c74c98ad15b8bd50f56541fccbef750 data/hexcasting/loot_tables/blocks/edified_tile.json
cfb39e2151725fe4f9a7269d9b5de8031ea54a44 data/hexcasting/loot_tables/blocks/directrix_redstone.json cfb39e2151725fe4f9a7269d9b5de8031ea54a44 data/hexcasting/loot_tables/blocks/directrix_redstone.json

View file

@ -1,4 +1,4 @@
// 1.19.2 2023-02-16T14:39:33.251128348 Tags for minecraft:block // 1.19.2 2023-02-16T15:02:55.382692786 Tags for minecraft:block
20183cd61968ff6548df2dde1100b6378d68d64b data/minecraft/tags/blocks/wooden_buttons.json 20183cd61968ff6548df2dde1100b6378d68d64b data/minecraft/tags/blocks/wooden_buttons.json
357eddf3cee6f16725bed0701d57b2ca3097d74d data/minecraft/tags/blocks/mineable/shovel.json 357eddf3cee6f16725bed0701d57b2ca3097d74d data/minecraft/tags/blocks/mineable/shovel.json
5216ba5c57db29b8dee9aebc63a2e3b17c97dc17 data/minecraft/tags/blocks/wooden_trapdoors.json 5216ba5c57db29b8dee9aebc63a2e3b17c97dc17 data/minecraft/tags/blocks/wooden_trapdoors.json

View file

@ -1,4 +1,4 @@
// 1.19.2 2023-02-16T14:39:33.251726701 Tags for hexcasting:action // 1.19.2 2023-02-16T15:02:55.371794178 Tags for hexcasting:action
e5afc567ea17f035e4eb1d1d48825100b7f6ad68 data/hexcasting/tags/action/per_world_pattern.json e5afc567ea17f035e4eb1d1d48825100b7f6ad68 data/hexcasting/tags/action/per_world_pattern.json
e5afc567ea17f035e4eb1d1d48825100b7f6ad68 data/hexcasting/tags/action/requires_enlightenment.json e5afc567ea17f035e4eb1d1d48825100b7f6ad68 data/hexcasting/tags/action/requires_enlightenment.json
e5afc567ea17f035e4eb1d1d48825100b7f6ad68 data/hexcasting/tags/action/can_start_enlighten.json e5afc567ea17f035e4eb1d1d48825100b7f6ad68 data/hexcasting/tags/action/can_start_enlighten.json

View file

@ -1,4 +1,4 @@
// 1.19.2 2023-02-16T14:39:33.239546224 Recipes // 1.19.2 2023-02-16T15:02:55.38732648 Recipes
9f75d3e93ecbbbf3ed9a92b2943397e09dcae1a9 data/hexcasting/recipes/dye_colorizer_light_blue.json 9f75d3e93ecbbbf3ed9a92b2943397e09dcae1a9 data/hexcasting/recipes/dye_colorizer_light_blue.json
04569ccadfd99f203b0485d0c3e877209290f2b3 data/hexcasting/advancements/recipes/hexcasting.creative_tab/dye_colorizer_pink.json 04569ccadfd99f203b0485d0c3e877209290f2b3 data/hexcasting/advancements/recipes/hexcasting.creative_tab/dye_colorizer_pink.json
2a9d4a0f3618abf9e9b8699b318a984d2c836913 data/hexcasting/advancements/recipes/brainsweep/brainsweep/directrix_redstone.json 2a9d4a0f3618abf9e9b8699b318a984d2c836913 data/hexcasting/advancements/recipes/brainsweep/brainsweep/directrix_redstone.json

View file

@ -24,7 +24,7 @@ public class FabricParticleEngineMixin {
@Inject(at = @At("RETURN"), method = "<clinit>") @Inject(at = @At("RETURN"), method = "<clinit>")
private static void addTypes(CallbackInfo ci) { private static void addTypes(CallbackInfo ci) {
RENDER_ORDER = ImmutableList.<ParticleRenderType>builder().addAll(RENDER_ORDER) RENDER_ORDER = ImmutableList.<ParticleRenderType>builder().addAll(RENDER_ORDER)
.add(ConjureParticle.CONJURE_RENDER_TYPE, ConjureParticle.LIGHT_RENDER_TYPE) .add(ConjureParticle.CONJURE_RENDER_TYPE, ConjureParticle.CONJURE_RENDER_TYPE)
.build(); .build();
} }
} }