|
@@ -2,12 +2,8 @@ package me.km;
|
|
|
|
|
|
import com.mojang.blaze3d.matrix.MatrixStack;
|
|
|
import java.awt.Color;
|
|
|
-import java.io.File;
|
|
|
-import java.io.FileOutputStream;
|
|
|
-import java.io.IOException;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.HashSet;
|
|
|
import java.util.List;
|
|
|
+import java.util.Random;
|
|
|
import me.km.blocks.ModBlocks;
|
|
|
import me.km.blocks.cookingpot.TileEntityCookingPot;
|
|
|
import me.km.items.ItemColoredSoup;
|
|
@@ -39,19 +35,23 @@ import net.minecraft.client.renderer.color.IBlockColor;
|
|
|
import net.minecraft.client.renderer.color.ItemColors;
|
|
|
import net.minecraft.client.renderer.entity.EntityRenderer;
|
|
|
import net.minecraft.client.renderer.entity.EntityRendererManager;
|
|
|
+import net.minecraft.client.world.ClientWorld;
|
|
|
import net.minecraft.entity.Entity;
|
|
|
+import net.minecraft.fluid.IFluidState;
|
|
|
import net.minecraft.item.Item;
|
|
|
import net.minecraft.item.ArmorItem;
|
|
|
import net.minecraft.item.BlockItem;
|
|
|
import net.minecraft.item.ItemStack;
|
|
|
import net.minecraft.nbt.CompoundNBT;
|
|
|
+import net.minecraft.particles.ParticleTypes;
|
|
|
import net.minecraft.util.math.BlockPos;
|
|
|
+import net.minecraft.util.math.MathHelper;
|
|
|
import net.minecraft.util.text.ITextComponent;
|
|
|
import net.minecraft.util.text.StringTextComponent;
|
|
|
import net.minecraft.util.text.TextFormatting;
|
|
|
import net.minecraft.util.text.LanguageMap;
|
|
|
+import net.minecraft.world.GameType;
|
|
|
import net.minecraft.world.GrassColors;
|
|
|
-import net.minecraft.world.World;
|
|
|
import net.minecraft.world.biome.BiomeColors;
|
|
|
import net.minecraftforge.api.distmarker.Dist;
|
|
|
import net.minecraftforge.api.distmarker.OnlyIn;
|
|
@@ -123,9 +123,54 @@ public class Client {
|
|
|
}
|
|
|
|
|
|
@SubscribeEvent
|
|
|
+ @SuppressWarnings("")
|
|
|
public void onClientTick(TickEvent.ClientTickEvent e) {
|
|
|
- if(e.phase == TickEvent.Phase.END) {
|
|
|
- StatusDisplayGui.INSTANCE.tick();
|
|
|
+ if(e.phase != TickEvent.Phase.END) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ StatusDisplayGui.INSTANCE.tick();
|
|
|
+ animateTick(ModBlocks.barrierLight);
|
|
|
+ animateTick(ModBlocks.barrierSolid);
|
|
|
+ }
|
|
|
+
|
|
|
+ @SuppressWarnings("")
|
|
|
+ private void animateTick(Block b) {
|
|
|
+ Minecraft mc = Minecraft.getInstance();
|
|
|
+ if(mc.isGamePaused() || mc.world == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ int posX = MathHelper.floor(mc.player.getPosX());
|
|
|
+ int posY = MathHelper.floor(mc.player.getPosY());
|
|
|
+ int posZ = MathHelper.floor(mc.player.getPosZ());
|
|
|
+
|
|
|
+ boolean flag = false;
|
|
|
+ if(mc.playerController.getCurrentGameType() == GameType.CREATIVE) {
|
|
|
+ for(ItemStack itemstack : mc.player.getHeldEquipment()) {
|
|
|
+ if(itemstack.getItem() == b.asItem()) {
|
|
|
+ flag = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(!flag) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ BlockPos.Mutable pos = new BlockPos.Mutable();
|
|
|
+ for(int j = 0; j < 667; ++j) {
|
|
|
+ animateTick(mc.world, b, posX, posY, posZ, 16, pos);
|
|
|
+ animateTick(mc.world, b, posX, posY, posZ, 32, pos);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void animateTick(ClientWorld w, Block b, int x, int y, int z, int offset, BlockPos.Mutable pos) {
|
|
|
+ x += w.rand.nextInt(offset) - w.rand.nextInt(offset);
|
|
|
+ y += w.rand.nextInt(offset) - w.rand.nextInt(offset);
|
|
|
+ z += w.rand.nextInt(offset) - w.rand.nextInt(offset);
|
|
|
+ pos.setPos(x, y, z);
|
|
|
+ BlockState blockstate = w.getBlockState(pos);
|
|
|
+ if(blockstate.getBlock() == b) {
|
|
|
+ w.addParticle(ParticleTypes.BARRIER, x + 0.5, y + 0.5, z + 0.5, 0.0, 0.0, 0.0);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -345,8 +390,7 @@ public class Client {
|
|
|
logger.info(String.format("blocks: %d", blocks));
|
|
|
logger.info(String.format("compression rate: %f", (16 * 16 * 256 * 16) / (cluster * 64.0 + blocks * 24.0)));
|
|
|
}*/
|
|
|
-
|
|
|
- /*@SubscribeEvent
|
|
|
+ /*@SubscribeEvent
|
|
|
public void test(net.minecraftforge.client.event.ClientChatEvent e) {
|
|
|
int size;
|
|
|
try {
|
|
@@ -391,8 +435,7 @@ public class Client {
|
|
|
logger.info("------------------------------------");
|
|
|
logger.info(String.format("block types: %d", idCounter));
|
|
|
}*/
|
|
|
-
|
|
|
- /*@SubscribeEvent
|
|
|
+ /*@SubscribeEvent
|
|
|
public void test(net.minecraftforge.client.event.ClientChatEvent e) {
|
|
|
int size;
|
|
|
try {
|