Jump to content

InternalError_

Members
  • Posts

    16
  • Joined

  • Last visited

Everything posted by InternalError_

  1. Sorry i have deleted the Repo and rewrote everything. So far no problems with that
  2. Hi In my mod these three configurations get corrected on each client launch. event if they are on default... What am i doing wrong? [09:03:33] [modloading-worker-0/WARN] [ne.mi.co.ForgeConfigSpec/CORE]: Incorrect key Configs for Futuristic Factories.ENERGY_UPGRADE_STORAGE_EFFECTIVITY was corrected from 1.0 to its default, 1.0. [09:03:33] [modloading-worker-0/WARN] [ne.mi.co.ForgeConfigSpec/CORE]: Incorrect key Configs for Futuristic Factories.ENERGY_UPGRADE_CONSUMPTION_EFFECTIVITY was corrected from 0.125 to its default, 0.125. [09:03:33] [modloading-worker-0/WARN] [ne.mi.co.ForgeConfigSpec/CORE]: Incorrect key Configs for Futuristic Factories.SPEED_UPGRADE_ENERGY_CONSUMPTION_MULTIPLIER was corrected from 1 to its default, 1. This seems to be an error. package net.internalerror.futuristicfactories.fml.config; import lombok.experimental.UtilityClass; import net.minecraftforge.common.ForgeConfigSpec; import java.util.function.Predicate; /** * FuturisticFactories * * @author InternalErrorGit * @version 1.0 Snapshot */ @UtilityClass public final class Configuration { public static final ForgeConfigSpec.Builder BUILDER = new ForgeConfigSpec.Builder(); public static final ForgeConfigSpec SPEC; public static final ForgeConfigSpec.ConfigValue<Integer> CRUSHING_MACHINE_BASE_ENERGY_STORAGE; public static final ForgeConfigSpec.ConfigValue<Float> ENERGY_UPGRADE_STORAGE_EFFECTIVITY; public static final ForgeConfigSpec.ConfigValue<Integer> CRUSHING_MACHINE_BASE_ENERGY_CONSUMPTION; public static final ForgeConfigSpec.ConfigValue<Float> ENERGY_UPGRADE_CONSUMPTION_EFFECTIVITY; public static final ForgeConfigSpec.ConfigValue<Integer> SPEED_UPGRADE_ENERGY_CONSUMPTION_MULTIPLIER; static { BUILDER.push("Configs for Futuristic Factories"); CRUSHING_MACHINE_BASE_ENERGY_STORAGE = BUILDER .comment("Base energy storage of the crushing machine") .define("CRUSHING_MACHINE_BASE_ENERGY_STORAGE", 16000); ENERGY_UPGRADE_STORAGE_EFFECTIVITY = BUILDER .comment("Energy storage upgrade effectivity (storage = baseStorage + (upgradeCount * (baseStorage*effectivity))") .define("ENERGY_UPGRADE_STORAGE_EFFECTIVITY", 1.0f); CRUSHING_MACHINE_BASE_ENERGY_CONSUMPTION = BUILDER .comment("Base energy consumption of the crushing machine in FE/tick") .define("CRUSHING_MACHINE_BASE_ENERGY_CONSUMPTION", 1024); ENERGY_UPGRADE_CONSUMPTION_EFFECTIVITY = BUILDER .comment("Energy consumption effectivity (consumption = baseConsumption -) (min: 0.01, max: 0.99)") .define("ENERGY_UPGRADE_CONSUMPTION_EFFECTIVITY", 0.125f, floatMinMaxValidator(0.01f, 0.99f)); SPEED_UPGRADE_ENERGY_CONSUMPTION_MULTIPLIER = BUILDER .comment("Energy consumption multiplier by speed upgrade (min: 1, max: 5)") .define("SPEED_UPGRADE_ENERGY_CONSUMPTION_MULTIPLIER", 1, integerMinMaxValidator(1, 5)); BUILDER.pop(); SPEC = BUILDER.build(); } public static Predicate<Object> integerMinMaxValidator(int pMin, int pMax) { return object -> { if (object instanceof Integer number) return number > pMin && number < pMax; return false; }; } public static Predicate<Object> floatMinMaxValidator(float pMin, float pMax) { return object -> { if (object instanceof Float number) return number > pMin && number < pMax; return false; }; } }
  3. Hello there I am currently working on a "pulverizing machine" i followed the tutoial of KaupenJoe. After adding everything important the "crushing machine" works fine. but then i tried to generify those things. Everything works fine, with one exclusion. The EnergyInfoArea in "pulverizing machine" does not display the current energy stored.. I've been debugging for 2 Hours but i cant find the problem. So i want to ask you guys if you can find the problem Sourcecode is available via Space Hopefully you guys can help me
  4. Texture is a little more wide than the default inventory texture. I cant post images here, but this would be the image https://github.com/InternalErrorGit/FuturisticFactories/blob/master/src/main/resources/assets/futuristicfactories/textures/gui/crushing_machine.png
  5. Hello i added a new Block with its own Menu and screen. In the tutorial everything displays propely, but on my end its stretched and only the half of the texture is shown. I havent worked with the rendering system until now, so here's my code. Maybe you guys have an idea what im doing wrong package net.internalerror.futuristicfactories.gui.screen; import net.internalerror.futuristicfactories.block.entity.CrushingMachineBlockEntity; import net.internalerror.futuristicfactories.data.recipe.CrushingRecipe; import net.internalerror.futuristicfactories.gui.menu.CrushingMachineMenu; import net.internalerror.futuristicfactories.gui.screen.util.FFMachineScreen; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.player.Inventory; import static net.internalerror.futuristicfactories.FuturisticFactories.MOD_ID; public class CrushingMachineScreen extends FFMachineScreen<CrushingRecipe, CrushingMachineBlockEntity, CrushingMachineMenu> { public CrushingMachineScreen(CrushingMachineMenu menu, Inventory playerInventory, Component title) { super(menu, playerInventory, title); } @Override public int getImageWidth() { return 176; } @Override public int getImageHeight() { return 168; } @Override public ResourceLocation getTexture() { return new ResourceLocation(MOD_ID, "textures/gui/crushing_machine.png"); } } package net.internalerror.futuristicfactories.gui.screen.util; import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.PoseStack; import net.internalerror.futuristicfactories.block.entity.util.FFSimpleMachineBlockEntity; import net.internalerror.futuristicfactories.data.recipe.FFSimpleRecipe; import net.internalerror.futuristicfactories.gui.menu.util.FFMachineMenu; import net.internalerror.futuristicfactories.gui.screen.area.EnergyInfoArea; import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen; import net.minecraft.client.renderer.GameRenderer; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.player.Inventory; import org.jetbrains.annotations.NotNull; import java.util.Optional; public abstract class FFMachineScreen<R extends FFSimpleRecipe, E extends FFSimpleMachineBlockEntity<R>, M extends FFMachineMenu<R, E>> extends AbstractContainerScreen<M> { private EnergyInfoArea energyInfoArea; public FFMachineScreen(M menu, Inventory playerInventory, Component title) { super(menu, playerInventory, title); imageWidth = getImageWidth(); imageHeight = getImageHeight(); } @Override protected void init() { super.init(); assignEnergyInfoArea(); } public abstract int getImageWidth(); public abstract int getImageHeight(); private void assignEnergyInfoArea() { int x = (width - imageWidth) / 2; int y = (height - imageHeight) / 2; energyInfoArea = new EnergyInfoArea(x + 152, y + 19, menu.getBlockEntity().getEnergyStorage()); } @Override protected void renderLabels(@NotNull PoseStack poseStack, int mouseX, int mouseY) { int x = (width - imageWidth) / 2; int y = (height - imageHeight) / 2; renderEnergyAreaTooltips(poseStack, mouseX, mouseY, x, y); } private void renderEnergyAreaTooltips(PoseStack poseStack, int mouseX, int mouseY, int x, int y) { if (isMouseAboveArea(mouseX, mouseY, x, y, 152, 19, 16, 52)) { renderTooltip(poseStack, energyInfoArea.getTooltips(), Optional.empty(), mouseX - x, mouseY - y); } } private boolean isMouseAboveArea(int mouseX, int mouseY, int x, int y, int offsetX, int offsetY, int width, int height) { return FFMouseUtil.isMouseOver(mouseX, mouseY, x + offsetX, y + offsetY, width, height); } public abstract ResourceLocation getTexture(); @Override protected void renderBg(@NotNull PoseStack poseStack, float partialTick, int pmousex, int mouseY) { RenderSystem.setShader(GameRenderer::getPositionTexShader); RenderSystem.setShaderColor(1.0f, 1.0f, 1.0f, 1.0f); RenderSystem.setShaderTexture(0, getTexture()); int x = (width - imageWidth) / 2; int y = (height - imageHeight) / 2; blit(poseStack, x, y, 0, 0, imageWidth, imageHeight); renderProgressArrow(poseStack, x, y); energyInfoArea.draw(poseStack); } private void renderProgressArrow(PoseStack poseStack, int x, int y) { if (menu.isCrafting()) { blit(poseStack, x + 77, y + 37, 176, 0, menu.getScaledProgress(), 16); } } } package net.internalerror.futuristicfactories.gui.menu.util; import net.internalerror.futuristicfactories.FuturisticFactories; import net.internalerror.futuristicfactories.block.entity.util.FFSimpleMachineBlockEntity; import net.internalerror.futuristicfactories.data.recipe.FFSimpleRecipe; import net.internalerror.futuristicfactories.registries.FFBlocks; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.*; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraftforge.common.capabilities.ForgeCapabilities; import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.items.IItemHandler; import org.jetbrains.annotations.NotNull; public abstract class FFMachineMenu<R extends FFSimpleRecipe, E extends FFSimpleMachineBlockEntity<R>> extends AbstractContainerMenu { protected final E blockEntity; protected final Level level; protected final ContainerData data; public FFMachineMenu(MenuType<?> menuType, int id, Inventory inventory, FriendlyByteBuf friendlyByteBuf) { this(menuType, id, inventory, inventory.player.level.getBlockEntity(friendlyByteBuf.readBlockPos()), new SimpleContainerData(2)); } public FFMachineMenu(MenuType<?> menuType, int id, Inventory inventory, BlockEntity blockEntity, ContainerData simpleContainerData) { super(menuType, id); checkContainerSize(inventory, castBlockEntity(blockEntity).getSlotCount()); this.blockEntity = castBlockEntity(blockEntity); this.level = inventory.player.level; this.data = simpleContainerData; addPlayerInventory(inventory); addPlayerHotbar(inventory); addSlots(blockEntity.getCapability(ForgeCapabilities.ITEM_HANDLER)); } public E getBlockEntity() { return blockEntity; } protected abstract <T extends IItemHandler> void addSlots(LazyOptional<T> capability); protected void addPlayerInventory(Inventory playerInventory) { for (int i = 0; i < 3; i++) { for (int l = 0; l < 9; l++) { addSlot(new Slot(playerInventory, l + i * 9 + 9, 8 + l * 18, 108 + i * 18)); } } } protected void addPlayerHotbar(Inventory playerInventory) { for (int i = 0; i < 9; i++) { addSlot(new Slot(playerInventory, i, 8 + i * 18, 166)); } } protected abstract E castBlockEntity(BlockEntity blockEntity); private static final int hotbar_slot_count = 9; private static final int player_inventor_row_count = 3; private static final int player_inventory_column_count = 9; private static final int player_inventory_slot_count = player_inventory_column_count * player_inventor_row_count; private static final int vanilla_slot_count = hotbar_slot_count + player_inventory_slot_count; private static final int vanilla_first_slot_index = 0; private static final int te_inventory_first_slot_index = vanilla_first_slot_index + vanilla_slot_count; private static final int te_inventory_slot_count = 3; @Override public @NotNull ItemStack quickMoveStack(@NotNull Player player, int index) { Slot sourceSlot = slots.get(index); if (!sourceSlot.hasItem()) { return ItemStack.EMPTY; } ItemStack sourceStack = sourceSlot.getItem(); ItemStack copyOfSourceStack = sourceStack.copy(); if (index < vanilla_first_slot_index + vanilla_slot_count) { if (!moveItemStackTo(sourceStack, te_inventory_first_slot_index, te_inventory_first_slot_index + te_inventory_slot_count, false)) { return ItemStack.EMPTY; } } else if (index < te_inventory_first_slot_index + te_inventory_slot_count) { if (!moveItemStackTo(sourceStack, vanilla_first_slot_index, vanilla_first_slot_index + vanilla_slot_count, false)) { return ItemStack.EMPTY; } } else { FuturisticFactories.LOGGER.error("Invalid slot index: {}", index); return ItemStack.EMPTY; } if (sourceStack.getCount() == 0) { sourceSlot.set(ItemStack.EMPTY); } else { sourceSlot.setChanged(); } sourceSlot.onTake(player, sourceStack); return copyOfSourceStack; } @Override public boolean stillValid(@NotNull Player player) { return stillValid(ContainerLevelAccess.create(level, blockEntity.getBlockPos()), player, FFBlocks.crushing_machine.get()); } public abstract boolean isCrafting(); public abstract int getScaledProgress(); } package net.internalerror.futuristicfactories.gui.menu; import net.internalerror.futuristicfactories.block.entity.CrushingMachineBlockEntity; import net.internalerror.futuristicfactories.data.recipe.CrushingRecipe; import net.internalerror.futuristicfactories.gui.menu.util.FFMachineMenu; import net.internalerror.futuristicfactories.registries.FFMenuTypes; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.inventory.ContainerData; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.items.IItemHandler; import net.minecraftforge.items.SlotItemHandler; public class CrushingMachineMenu extends FFMachineMenu<CrushingRecipe, CrushingMachineBlockEntity> { public CrushingMachineMenu(int id, Inventory inventory, CrushingMachineBlockEntity blockEntity, ContainerData data) { super(FFMenuTypes.crushing_machine.get(), id, inventory, blockEntity, data); } public CrushingMachineMenu(int id, Inventory inventory, FriendlyByteBuf extraData) { super(FFMenuTypes.crushing_machine.get(), id, inventory, extraData); } @Override protected <T extends IItemHandler> void addSlots(LazyOptional<T> capability) { capability.ifPresent(handler -> { addSlot(new SlotItemHandler(handler, CrushingMachineBlockEntity.Slot_Index_Wip_Upgrade, 8, 19)); addSlot(new SlotItemHandler(handler, CrushingMachineBlockEntity.Slot_Index_Speed_Upgrade, 8, 37)); addSlot(new SlotItemHandler(handler, CrushingMachineBlockEntity.Slot_Index_Energy_Upgrade, 8, 55)); addSlot(new SlotItemHandler(handler, CrushingMachineBlockEntity.Slot_Index_Ingredient, 44, 37)); addSlot(new SlotItemHandler(handler, CrushingMachineBlockEntity.Slot_Index_Result, 107, 37)); addSlot(new SlotItemHandler(handler, CrushingMachineBlockEntity.Slot_Index_Secondary_Result, 125, 37)); }); } @Override protected CrushingMachineBlockEntity castBlockEntity(BlockEntity blockEntity) { return (CrushingMachineBlockEntity) blockEntity; } @Override public boolean isCrafting() { return data.get(CrushingMachineBlockEntity.Data_Index_Progress) > 0; } @Override public int getScaledProgress() { int progress = data.get(CrushingMachineBlockEntity.Data_Index_Progress); int maxProgress = data.get(CrushingMachineBlockEntity.Data_Index_Max_Progress); int progressArrowSize = 22; return maxProgress != 0 && progress != 0 ? progress * progressArrowSize / maxProgress : 0; } }
  6. How do i set the tool that is required to break the block? BLOCK_ORE = new FFRegistryObject<>("ore_" + name(), blocks.register("ore_" + name(), () -> new DropExperienceBlock(BlockBehaviour.Properties.of(Material.STONE).requiresCorrectToolForDrops().strength(3.0F, 3.0F)))); This block for example cant be mined with any tools. I hope someone can help me
  7. could you explain me where i have to do that?
  8. I added the project to a git so people access the code easlier https://github.com/ImSePhil/Apocalypse
  9. So i updated all to version 1.16.5. I also added @Override public IPacket<?> createSpawnPacket() { return NetworkHooks.getEntitySpawningPacket(this); } in EvolvedZombieEntity.java. but it is still not working....
  10. public class ModEntityType { public static final DeferredRegister<EntityType<?>> ENTITY_TYPES = DeferredRegister.create(ForgeRegistries.ENTITIES, Tutorial.MOD_ID); // Entity Types public static final RegistryObject<EntityType<HogEntity>> HOG = ENTITY_TYPES.register("hog", () -> EntityType.Builder.create(HogEntity::new, EntityClassification.CREATURE) .size(1.0f, 1.0f) // Hitbox Size .build(new ResourceLocation(Tutorial.MOD_ID, "hog").toString())); public static final RegistryObject<EntityType<EvolvedZombieEntity>> EVOLVED_ZOMBIE = ENTITY_TYPES.register("evolved_zombie", () -> EntityType.Builder.<EvolvedZombieEntity>create(EvolvedZombieEntity::new, EntityClassification.MONSTER) .size(1.0f, 1.0f) .build(new ResourceLocation(Tutorial.MOD_ID, "evolved_zombie").toString())); } public class EvolvedZombieModel<T extends EvolvedZombieEntity> extends ZombieModel<T> { public EvolvedZombieModel(float modelSize, boolean p_i1168_2_) { super(modelSize, p_i1168_2_); } protected EvolvedZombieModel(float p_i48914_1_, float p_i48914_2_, int p_i48914_3_, int p_i48914_4_) { super(p_i48914_1_, p_i48914_2_, p_i48914_3_, p_i48914_4_); } public boolean isAggressive(T entityIn) { return entityIn.isAggressive(); } } public class EvolvedZombieRenderer extends ZombieRenderer { public EvolvedZombieRenderer(EntityRendererManager renderManagerIn) { super(renderManagerIn); } } public class EvolvedZombieEntity extends ZombieEntity { public EvolvedZombieEntity(EntityType<? extends ZombieEntity> type, World worldIn) { super(type, worldIn); Tutorial.LOGGER.log(Level.INFO,toString() + " <-- THIS IS MY INFO"); } public EvolvedZombieEntity(World worldIn) { super(worldIn); } public static AttributeModifierMap.MutableAttribute setCustomAttributes() { return MobEntity.func_233666_p_() .createMutableAttribute(Attributes.MAX_HEALTH, 10.0D) .createMutableAttribute(Attributes.MOVEMENT_SPEED, 0.25D); } @Override public String toString() { return "EvolvedZombieEntity{" + "livingSoundTime=" + livingSoundTime + ",\n experienceValue=" + experienceValue + ",\n lookController=" + lookController + ",\n moveController=" + moveController + ",\n jumpController=" + jumpController + ",\n navigator=" + navigator + ",\n goalSelector=" + goalSelector + ",\n targetSelector=" + targetSelector + ",\n inventoryHandsDropChances=" + Arrays.toString(inventoryHandsDropChances) + ",\n inventoryArmorDropChances=" + Arrays.toString(inventoryArmorDropChances) + ",\n isSwingInProgress=" + isSwingInProgress + ",\n swingingHand=" + swingingHand + ",\n swingProgressInt=" + swingProgressInt + ",\n arrowHitTimer=" + arrowHitTimer + ",\n beeStingRemovalCooldown=" + beeStingRemovalCooldown + ",\n hurtTime=" + hurtTime + ",\n maxHurtTime=" + maxHurtTime + ",\n attackedAtYaw=" + attackedAtYaw + ",\n deathTime=" + deathTime + ",\n prevSwingProgress=" + prevSwingProgress + ",\n swingProgress=" + swingProgress + ",\n ticksSinceLastSwing=" + ticksSinceLastSwing + ",\n prevLimbSwingAmount=" + prevLimbSwingAmount + ",\n limbSwingAmount=" + limbSwingAmount + ",\n limbSwing=" + limbSwing + ",\n maxHurtResistantTime=" + maxHurtResistantTime + ",\n randomUnused2=" + randomUnused2 + ",\n randomUnused1=" + randomUnused1 + ",\n renderYawOffset=" + renderYawOffset + ",\n prevRenderYawOffset=" + prevRenderYawOffset + ",\n rotationYawHead=" + rotationYawHead + ",\n prevRotationYawHead=" + prevRotationYawHead + ",\n jumpMovementFactor=" + jumpMovementFactor + ",\n attackingPlayer=" + attackingPlayer + ",\n recentlyHit=" + recentlyHit + ",\n dead=" + dead + ",\n idleTime=" + idleTime + ",\n prevOnGroundSpeedFactor=" + prevOnGroundSpeedFactor + ",\n onGroundSpeedFactor=" + onGroundSpeedFactor + ",\n movedDistance=" + movedDistance + ",\n prevMovedDistance=" + prevMovedDistance + ",\n unused180=" + unused180 + ",\n scoreValue=" + scoreValue + ",\n lastDamage=" + lastDamage + ",\n isJumping=" + isJumping + ",\n moveStrafing=" + moveStrafing + ",\n moveVertical=" + moveVertical + ",\n moveForward=" + moveForward + ",\n newPosRotationIncrements=" + newPosRotationIncrements + ",\n interpTargetX=" + interpTargetX + ",\n interpTargetY=" + interpTargetY + ",\n interpTargetZ=" + interpTargetZ + ",\n interpTargetYaw=" + interpTargetYaw + ",\n interpTargetPitch=" + interpTargetPitch + ",\n interpTargetHeadYaw=" + interpTargetHeadYaw + ",\n interpTicksHead=" + interpTicksHead + ",\n activeItemStack=" + activeItemStack + ",\n activeItemStackUseCount=" + activeItemStackUseCount + ",\n ticksElytraFlying=" + ticksElytraFlying + ",\n spinAttackDuration=" + spinAttackDuration + ",\n brain=" + brain + ",\n preventEntitySpawning=" + preventEntitySpawning + ",\n rideCooldown=" + rideCooldown + ",\n forceSpawn=" + forceSpawn + ",\n world=" + world + ",\n prevPosX=" + prevPosX + ",\n prevPosY=" + prevPosY + ",\n prevPosZ=" + prevPosZ + ",\n rotationYaw=" + rotationYaw + ",\n rotationPitch=" + rotationPitch + ",\n prevRotationYaw=" + prevRotationYaw + ",\n prevRotationPitch=" + prevRotationPitch + ",\n onGround=" + onGround + ",\n collidedHorizontally=" + collidedHorizontally + ",\n collidedVertically=" + collidedVertically + ",\n velocityChanged=" + velocityChanged + ",\n motionMultiplier=" + motionMultiplier + ",\n removed=" + removed + ",\n prevDistanceWalkedModified=" + prevDistanceWalkedModified + ",\n distanceWalkedModified=" + distanceWalkedModified + ",\n distanceWalkedOnStepModified=" + distanceWalkedOnStepModified + ",\n fallDistance=" + fallDistance + ",\n lastTickPosX=" + lastTickPosX + ",\n lastTickPosY=" + lastTickPosY + ",\n lastTickPosZ=" + lastTickPosZ + ",\n stepHeight=" + stepHeight + ",\n noClip=" + noClip + ",\n entityCollisionReduction=" + entityCollisionReduction + ",\n rand=" + rand + ",\n ticksExisted=" + ticksExisted + ",\n inWater=" + inWater + ",\n eyesFluidLevel=" + eyesFluidLevel + ",\n eyesInWater=" + eyesInWater + ",\n field_241335_O_=" + field_241335_O_ + ",\n inLava=" + inLava + ",\n hurtResistantTime=" + hurtResistantTime + ",\n firstUpdate=" + firstUpdate + ",\n dataManager=" + dataManager + ",\n addedToChunk=" + addedToChunk + ",\n chunkCoordX=" + chunkCoordX + ",\n chunkCoordY=" + chunkCoordY + ",\n chunkCoordZ=" + chunkCoordZ + ",\n serverPosX=" + serverPosX + ",\n serverPosY=" + serverPosY + ",\n serverPosZ=" + serverPosZ + ",\n ignoreFrustumCheck=" + ignoreFrustumCheck + ",\n isAirBorne=" + isAirBorne + ",\n timeUntilPortal=" + timeUntilPortal + ",\n inPortal=" + inPortal + ",\n portalCounter=" + portalCounter + ",\n lastPortalPos=" + lastPortalPos + ",\n lastPortalVec=" + lastPortalVec + ",\n teleportDirection=" + teleportDirection + ",\n entityUniqueID=" + entityUniqueID + ",\n cachedUniqueIdString='" + cachedUniqueIdString + '\'' + ",\n glowing=" + glowing + '}'; } }
  11. EvolvedZombieModel.java EvolvedZombieRenderer.java EvolvedZombieEntity.java ModEntityType.java
  12. Hi Guys Im pretty new to Minecraft Modding. I got myself a preset from a youtube and i want to try adding a "Evolved Zombie". I added Classes for the Entity (Renderer, Model & entity itself). I added all the Assets, and added a Spawn Egg Item. So far so good. As i tried spawning the mob by Console or Spawn egg, nothing happens. I only get a large Exception on the console. I tried reading through the log, but i have no idea what the problem is. I mean i know its a null pointer exception, but i dont know where soething is null. Please send help. Log is attached Please also if you can speak german, answer me in german, because i can speak better them. latest.log
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.