Final adjustments
This commit is contained in:
parent
6a09eb859c
commit
4d61bb4481
4 changed files with 7 additions and 74 deletions
|
@ -26,14 +26,11 @@ package techreborn;
|
||||||
|
|
||||||
import net.fabricmc.api.ClientModInitializer;
|
import net.fabricmc.api.ClientModInitializer;
|
||||||
import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap;
|
import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap;
|
||||||
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
|
|
||||||
import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper;
|
|
||||||
import net.fabricmc.fabric.api.client.model.ModelLoadingRegistry;
|
import net.fabricmc.fabric.api.client.model.ModelLoadingRegistry;
|
||||||
import net.fabricmc.fabric.api.client.rendering.v1.EntityRendererRegistry;
|
import net.fabricmc.fabric.api.client.rendering.v1.EntityRendererRegistry;
|
||||||
import net.fabricmc.fabric.api.renderer.v1.RendererAccess;
|
import net.fabricmc.fabric.api.renderer.v1.RendererAccess;
|
||||||
import net.minecraft.client.item.ClampedModelPredicateProvider;
|
import net.minecraft.client.item.ClampedModelPredicateProvider;
|
||||||
import net.minecraft.client.item.ModelPredicateProviderRegistry;
|
import net.minecraft.client.item.ModelPredicateProviderRegistry;
|
||||||
import net.minecraft.client.option.KeyBinding;
|
|
||||||
import net.minecraft.client.render.RenderLayer;
|
import net.minecraft.client.render.RenderLayer;
|
||||||
import net.minecraft.client.render.block.entity.BlockEntityRendererFactories;
|
import net.minecraft.client.render.block.entity.BlockEntityRendererFactories;
|
||||||
import net.minecraft.client.render.model.BakedModel;
|
import net.minecraft.client.render.model.BakedModel;
|
||||||
|
@ -42,7 +39,6 @@ import net.minecraft.client.render.model.ModelBakeSettings;
|
||||||
import net.minecraft.client.render.model.UnbakedModel;
|
import net.minecraft.client.render.model.UnbakedModel;
|
||||||
import net.minecraft.client.render.model.json.JsonUnbakedModel;
|
import net.minecraft.client.render.model.json.JsonUnbakedModel;
|
||||||
import net.minecraft.client.texture.Sprite;
|
import net.minecraft.client.texture.Sprite;
|
||||||
import net.minecraft.client.util.InputUtil;
|
|
||||||
import net.minecraft.client.util.ModelIdentifier;
|
import net.minecraft.client.util.ModelIdentifier;
|
||||||
import net.minecraft.client.util.SpriteIdentifier;
|
import net.minecraft.client.util.SpriteIdentifier;
|
||||||
import net.minecraft.client.world.ClientWorld;
|
import net.minecraft.client.world.ClientWorld;
|
||||||
|
@ -52,12 +48,9 @@ import net.minecraft.fluid.Fluids;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.registry.Registries;
|
import net.minecraft.registry.Registries;
|
||||||
import net.minecraft.text.Text;
|
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.lwjgl.glfw.GLFW;
|
|
||||||
import reborncore.client.ClientJumpEvent;
|
import reborncore.client.ClientJumpEvent;
|
||||||
import reborncore.client.ClientNetworkManager;
|
|
||||||
import reborncore.client.gui.GuiBase;
|
import reborncore.client.gui.GuiBase;
|
||||||
import reborncore.client.multiblock.MultiblockRenderer;
|
import reborncore.client.multiblock.MultiblockRenderer;
|
||||||
import reborncore.common.powerSystem.RcEnergyItem;
|
import reborncore.common.powerSystem.RcEnergyItem;
|
||||||
|
@ -67,7 +60,6 @@ import techreborn.client.ClientGuiType;
|
||||||
import techreborn.client.ClientboundPacketHandlers;
|
import techreborn.client.ClientboundPacketHandlers;
|
||||||
import techreborn.client.events.ClientJumpHandler;
|
import techreborn.client.events.ClientJumpHandler;
|
||||||
import techreborn.client.events.StackToolTipHandler;
|
import techreborn.client.events.StackToolTipHandler;
|
||||||
import techreborn.client.keybindings.KeyBindings;
|
|
||||||
import techreborn.client.render.BaseDynamicFluidBakedModel;
|
import techreborn.client.render.BaseDynamicFluidBakedModel;
|
||||||
import techreborn.client.render.DynamicBucketBakedModel;
|
import techreborn.client.render.DynamicBucketBakedModel;
|
||||||
import techreborn.client.render.DynamicCellBakedModel;
|
import techreborn.client.render.DynamicCellBakedModel;
|
||||||
|
@ -84,7 +76,6 @@ import techreborn.items.FrequencyTransmitterItem;
|
||||||
import techreborn.items.armor.BatpackItem;
|
import techreborn.items.armor.BatpackItem;
|
||||||
import techreborn.items.tool.ChainsawItem;
|
import techreborn.items.tool.ChainsawItem;
|
||||||
import techreborn.items.tool.industrial.NanosaberItem;
|
import techreborn.items.tool.industrial.NanosaberItem;
|
||||||
import techreborn.packets.ServerboundPackets;
|
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
@ -94,13 +85,6 @@ import java.util.function.Supplier;
|
||||||
|
|
||||||
public class TechRebornClient implements ClientModInitializer {
|
public class TechRebornClient implements ClientModInitializer {
|
||||||
|
|
||||||
// Keybindings
|
|
||||||
public KeyBinding nanoSuitFlight = KeyBindingHelper.registerKeyBinding(
|
|
||||||
new KeyBinding("key.techreborn.nanoSuitFlight",
|
|
||||||
InputUtil.Type.KEYSYM,
|
|
||||||
GLFW.GLFW_KEY_SPACE,
|
|
||||||
"key.category.techreborn"));
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onInitializeClient() {
|
public void onInitializeClient() {
|
||||||
ModelLoadingRegistry.INSTANCE.registerModelProvider((manager, out) -> {
|
ModelLoadingRegistry.INSTANCE.registerModelProvider((manager, out) -> {
|
||||||
|
@ -112,13 +96,6 @@ public class TechRebornClient implements ClientModInitializer {
|
||||||
out.accept(new ModelIdentifier(new Identifier(TechReborn.MOD_ID, "bucket_base"), "inventory"));
|
out.accept(new ModelIdentifier(new Identifier(TechReborn.MOD_ID, "bucket_base"), "inventory"));
|
||||||
out.accept(new ModelIdentifier(new Identifier(TechReborn.MOD_ID, "bucket_fluid"), "inventory"));
|
out.accept(new ModelIdentifier(new Identifier(TechReborn.MOD_ID, "bucket_fluid"), "inventory"));
|
||||||
out.accept(new ModelIdentifier(new Identifier(TechReborn.MOD_ID, "bucket_background"), "inventory"));
|
out.accept(new ModelIdentifier(new Identifier(TechReborn.MOD_ID, "bucket_background"), "inventory"));
|
||||||
|
|
||||||
ClientTickEvents.END_CLIENT_TICK.register(client -> {
|
|
||||||
while (nanoSuitFlight.wasPressed()) {
|
|
||||||
client.player.sendMessage(Text.literal("Key 1 was pressed!"), false);
|
|
||||||
ClientNetworkManager.sendToServer(ServerboundPackets.createPacketNanoSuitFlight());
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
ModelLoadingRegistry.INSTANCE.registerVariantProvider(resourceManager -> (modelIdentifier, modelProviderContext) -> {
|
ModelLoadingRegistry.INSTANCE.registerVariantProvider(resourceManager -> (modelIdentifier, modelProviderContext) -> {
|
||||||
|
|
|
@ -37,13 +37,13 @@ import net.minecraft.entity.effect.StatusEffects;
|
||||||
import net.minecraft.entity.player.PlayerEntity;
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
import net.minecraft.item.ArmorMaterial;
|
import net.minecraft.item.ArmorMaterial;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.particle.ParticleTypes;
|
|
||||||
import net.minecraft.text.Text;
|
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import reborncore.api.items.ArmorBlockEntityTicker;
|
import reborncore.api.items.ArmorBlockEntityTicker;
|
||||||
import reborncore.common.powerSystem.RcEnergyTier;
|
import reborncore.common.powerSystem.RcEnergyTier;
|
||||||
import techreborn.config.TechRebornConfig;
|
import techreborn.config.TechRebornConfig;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
public class NanoSuitItem extends TREnergyArmourItem implements ArmorBlockEntityTicker {
|
public class NanoSuitItem extends TREnergyArmourItem implements ArmorBlockEntityTicker {
|
||||||
|
|
||||||
public NanoSuitItem(ArmorMaterial material, Type slot) {
|
public NanoSuitItem(ArmorMaterial material, Type slot) {
|
||||||
|
@ -67,7 +67,6 @@ public class NanoSuitItem extends TREnergyArmourItem implements ArmorBlockEntity
|
||||||
|
|
||||||
if (equipmentSlot == this.getSlotType() && getStoredEnergy(stack) > 0) {
|
if (equipmentSlot == this.getSlotType() && getStoredEnergy(stack) > 0) {
|
||||||
attributes.put(EntityAttributes.GENERIC_ARMOR, new EntityAttributeModifier(MODIFIERS[getSlotType().getEntitySlotId()], "Armor modifier", 8, EntityAttributeModifier.Operation.ADDITION));
|
attributes.put(EntityAttributes.GENERIC_ARMOR, new EntityAttributeModifier(MODIFIERS[getSlotType().getEntitySlotId()], "Armor modifier", 8, EntityAttributeModifier.Operation.ADDITION));
|
||||||
attributes.put(EntityAttributes.GENERIC_KNOCKBACK_RESISTANCE, new EntityAttributeModifier(MODIFIERS[getSlotType().getEntitySlotId()], "Knockback modifier", 2, EntityAttributeModifier.Operation.ADDITION));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return ImmutableMultimap.copyOf(attributes);
|
return ImmutableMultimap.copyOf(attributes);
|
||||||
|
@ -77,35 +76,11 @@ public class NanoSuitItem extends TREnergyArmourItem implements ArmorBlockEntity
|
||||||
@Override
|
@Override
|
||||||
public void tickArmor(ItemStack stack, PlayerEntity playerEntity) {
|
public void tickArmor(ItemStack stack, PlayerEntity playerEntity) {
|
||||||
World world = playerEntity.getWorld();
|
World world = playerEntity.getWorld();
|
||||||
switch (this.getSlotType()) {
|
// Night Vision
|
||||||
case HEAD -> {
|
if (Objects.requireNonNull(this.getSlotType()) == EquipmentSlot.HEAD) {
|
||||||
if ((world.isNight() || world.getLightLevel(playerEntity.getBlockPos()) <= 4) && tryUseEnergy(stack, TechRebornConfig.nanoSuitNightVisionCost)) {
|
if ((world.isNight() || world.getLightLevel(playerEntity.getBlockPos()) <= 6) && tryUseEnergy(stack, TechRebornConfig.nanoSuitNightVisionCost)) {
|
||||||
playerEntity.addStatusEffect(new StatusEffectInstance(StatusEffects.NIGHT_VISION, 1000, 1, false, false));
|
playerEntity.addStatusEffect(new StatusEffectInstance(StatusEffects.NIGHT_VISION, 220, 1, false, false));
|
||||||
} else {
|
|
||||||
playerEntity.removeStatusEffect(StatusEffects.NIGHT_VISION);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
case FEET -> {
|
|
||||||
if (tryUseEnergy(stack, TechRebornConfig.nanoSuitFlightCost)) {
|
|
||||||
playerEntity.setNoGravity(true);
|
|
||||||
playerEntity.updatePosition(playerEntity.getX(), playerEntity.getY() + 0.1, playerEntity.getZ());
|
|
||||||
world.addParticle(ParticleTypes.SOUL_FIRE_FLAME, playerEntity.getX(), playerEntity.getY(), playerEntity.getZ(), 0.0, -1.0, 0.0);
|
|
||||||
} else {
|
|
||||||
playerEntity.setNoGravity(false);
|
|
||||||
playerEntity.sendMessage(Text.literal("uwu"));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void boostPlayer(ItemStack stack, PlayerEntity playerEntity) {
|
|
||||||
World world = playerEntity.getWorld();
|
|
||||||
if (tryUseEnergy(stack, TechRebornConfig.nanoSuitFlightCost)) {
|
|
||||||
playerEntity.setNoGravity(true);
|
|
||||||
playerEntity.updatePosition(playerEntity.getX(), playerEntity.getY() + 0.3, playerEntity.getZ());
|
|
||||||
world.addParticle(ParticleTypes.SOUL_FIRE_FLAME, playerEntity.getX(), playerEntity.getY(), playerEntity.getZ(), 1.0, 1.0, 1.0);
|
|
||||||
} else {
|
|
||||||
playerEntity.setNoGravity(false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -47,9 +47,7 @@ import techreborn.blockentity.machine.tier3.ChunkLoaderBlockEntity;
|
||||||
import techreborn.blockentity.storage.energy.AdjustableSUBlockEntity;
|
import techreborn.blockentity.storage.energy.AdjustableSUBlockEntity;
|
||||||
import techreborn.blockentity.storage.item.StorageUnitBaseBlockEntity;
|
import techreborn.blockentity.storage.item.StorageUnitBaseBlockEntity;
|
||||||
import techreborn.config.TechRebornConfig;
|
import techreborn.config.TechRebornConfig;
|
||||||
import techreborn.init.TRArmorMaterials;
|
|
||||||
import techreborn.init.TRContent;
|
import techreborn.init.TRContent;
|
||||||
import techreborn.items.armor.NanoSuitItem;
|
|
||||||
|
|
||||||
public class ServerboundPackets {
|
public class ServerboundPackets {
|
||||||
|
|
||||||
|
@ -66,7 +64,6 @@ public class ServerboundPackets {
|
||||||
public static final Identifier JUMP = new Identifier(TechReborn.MOD_ID, "jump");
|
public static final Identifier JUMP = new Identifier(TechReborn.MOD_ID, "jump");
|
||||||
public static final Identifier PUMP_DEPTH = new Identifier(TechReborn.MOD_ID, "pump_depth");
|
public static final Identifier PUMP_DEPTH = new Identifier(TechReborn.MOD_ID, "pump_depth");
|
||||||
public static final Identifier PUMP_RANGE = new Identifier(TechReborn.MOD_ID, "pump_range");
|
public static final Identifier PUMP_RANGE = new Identifier(TechReborn.MOD_ID, "pump_range");
|
||||||
public static final Identifier NANO_SUIT_FLIGHT = new Identifier(TechReborn.MOD_ID, "nano_suit_flight");
|
|
||||||
|
|
||||||
public static void init() {
|
public static void init() {
|
||||||
NetworkManager.registerServerBoundHandler(AESU, (server, player, handler, buf, responseSender) -> {
|
NetworkManager.registerServerBoundHandler(AESU, (server, player, handler, buf, responseSender) -> {
|
||||||
|
@ -231,18 +228,6 @@ public class ServerboundPackets {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}));
|
}));
|
||||||
|
|
||||||
NetworkManager.registerServerBoundHandler(NANO_SUIT_FLIGHT, ((server, player, handler, buf, responseSender) -> {
|
|
||||||
NanoSuitItem nanoSuitItem = new NanoSuitItem(TRArmorMaterials.NANO, ArmorItem.Type.BOOTS);
|
|
||||||
server.execute(() -> {
|
|
||||||
for (ItemStack stack : player.getArmorItems()) {
|
|
||||||
if (!stack.isEmpty() && stack.getItem().equals(TRContent.NANO_BOOTS)) {
|
|
||||||
nanoSuitItem.boostPlayer(stack, player);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}));
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static IdentifiedPacket createPacketAesu(int buttonID, boolean shift, boolean ctrl, AdjustableSUBlockEntity blockEntity) {
|
public static IdentifiedPacket createPacketAesu(int buttonID, boolean shift, boolean ctrl, AdjustableSUBlockEntity blockEntity) {
|
||||||
|
@ -334,8 +319,4 @@ public class ServerboundPackets {
|
||||||
buf.writeInt(buttonAmount);
|
buf.writeInt(buttonAmount);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public static IdentifiedPacket createPacketNanoSuitFlight() {
|
|
||||||
return NetworkManager.createServerBoundPacket(NANO_SUIT_FLIGHT, buf -> {});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"result": {
|
"result": {
|
||||||
"item": "techreborn:nano_leggings"
|
"item": "techreborn:nano_chestplate"
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Add table
Reference in a new issue