Added the start of the space ship entity
This commit is contained in:
+20
-8
@@ -2,25 +2,32 @@ buildscript {
|
|||||||
repositories {
|
repositories {
|
||||||
maven { url = 'https://maven.minecraftforge.net' }
|
maven { url = 'https://maven.minecraftforge.net' }
|
||||||
maven { url = 'https://maven.parchmentmc.org' }
|
maven { url = 'https://maven.parchmentmc.org' }
|
||||||
|
maven { url = 'https://repo.spongepowered.org/maven' }
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '5.1.+', changing: true
|
classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '5.1.+', changing: true
|
||||||
classpath 'org.parchmentmc:librarian:1.+'
|
classpath 'org.parchmentmc:librarian:1.+'
|
||||||
|
classpath 'org.spongepowered:mixingradle:0.7.+'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
apply plugin: 'net.minecraftforge.gradle'
|
apply plugin: 'net.minecraftforge.gradle'
|
||||||
|
apply plugin: 'org.spongepowered.mixin'
|
||||||
apply plugin: 'org.parchmentmc.librarian.forgegradle'
|
apply plugin: 'org.parchmentmc.librarian.forgegradle'
|
||||||
apply plugin: 'eclipse'
|
apply plugin: 'eclipse'
|
||||||
apply plugin: 'maven-publish'
|
apply plugin: 'maven-publish'
|
||||||
|
|
||||||
version = '1.16.5-0.1'
|
version = '1.16.5-0.1'
|
||||||
group = 'dev.halbear1.supernova' // http://maven.apache.org/guides/mini/guide-naming-conventions.html
|
group = 'net.halbear.supernova' // http://maven.apache.org/guides/mini/guide-naming-conventions.html
|
||||||
archivesBaseName = 'supernova'
|
archivesBaseName = 'supernova'
|
||||||
|
|
||||||
java.toolchain.languageVersion = JavaLanguageVersion.of(8) // Mojang ships Java 8 to end users, so your mod should target Java 8.
|
java.toolchain.languageVersion = JavaLanguageVersion.of(8) // Mojang ships Java 8 to end users, so your mod should target Java 8.
|
||||||
|
|
||||||
|
mixin {
|
||||||
|
add sourceSets.main, "supernova.mixin-refmap.json"
|
||||||
|
}
|
||||||
|
|
||||||
println('Java: ' + System.getProperty('java.version') + ' JVM: ' + System.getProperty('java.vm.version') + '(' + System.getProperty('java.vendor') + ') Arch: ' + System.getProperty('os.arch'))
|
println('Java: ' + System.getProperty('java.version') + ' JVM: ' + System.getProperty('java.vm.version') + '(' + System.getProperty('java.vendor') + ') Arch: ' + System.getProperty('os.arch'))
|
||||||
minecraft {
|
minecraft {
|
||||||
|
|
||||||
@@ -29,7 +36,11 @@ minecraft {
|
|||||||
runs {
|
runs {
|
||||||
client {
|
client {
|
||||||
workingDirectory project.file('run')
|
workingDirectory project.file('run')
|
||||||
|
property 'mixin.env.remapRefMap', 'true'
|
||||||
|
property 'mixin.env.refMapRemappingFile', "${projectDir}/build/createSrgToMcp/output.srg"
|
||||||
|
|
||||||
|
|
||||||
|
arg "-mixin.config=supernova.mixin.json"
|
||||||
property 'forge.logging.markers', 'REGISTRIES'
|
property 'forge.logging.markers', 'REGISTRIES'
|
||||||
|
|
||||||
property 'forge.logging.console.level', 'debug'
|
property 'forge.logging.console.level', 'debug'
|
||||||
@@ -85,13 +96,14 @@ dependencies {
|
|||||||
jar {
|
jar {
|
||||||
manifest {
|
manifest {
|
||||||
attributes([
|
attributes([
|
||||||
"Specification-Title": "supernova",
|
"Specification-Title" : "supernova",
|
||||||
"Specification-Vendor": "supernovasareus",
|
"Specification-Vendor" : "halbear",
|
||||||
"Specification-Version": "1", // We are version 1 of ourselves
|
"Specification-Version" : "1",
|
||||||
"Implementation-Title": project.name,
|
"Implementation-Title" : project.name,
|
||||||
"Implementation-Version": "${version}",
|
"Implementation-Version" : "${version}",
|
||||||
"Implementation-Vendor" :"supernovasareus",
|
"Implementation-Vendor" : "halbear",
|
||||||
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
|
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"),
|
||||||
|
"MixinConfigs" : "supernova.mixin.json"
|
||||||
])
|
])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
package dev.halbear1.supernova.custom.fluid;
|
|
||||||
|
|
||||||
public class SupernovaOverlayRenderer {
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
package dev.halbear1.supernova.data;
|
|
||||||
|
|
||||||
import dev.halbear1.supernova.SuperNova;
|
|
||||||
import net.minecraft.data.DataGenerator;
|
|
||||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
|
||||||
import net.minecraftforge.fml.common.Mod;
|
|
||||||
import net.minecraftforge.fml.event.lifecycle.GatherDataEvent;
|
|
||||||
|
|
||||||
@Mod.EventBusSubscriber(modid = SuperNova.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD)
|
|
||||||
public class DataGenerators {
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
package dev.halbear1.supernova.registry;
|
|
||||||
|
|
||||||
public class ModEntities {
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
package dev.halbear1.supernova.registry.worldgen;
|
|
||||||
|
|
||||||
public class ModFeatures {
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
package dev.halbear1.supernova.world.gen.ores;
|
|
||||||
|
|
||||||
public class OreInCave {
|
|
||||||
}
|
|
||||||
+13
-13
@@ -1,20 +1,16 @@
|
|||||||
package dev.halbear1.supernova;
|
package net.halbear.supernova;
|
||||||
|
|
||||||
import dev.halbear1.supernova.registry.ModParticles;
|
import net.halbear.supernova.registry.ModEntities;
|
||||||
import dev.halbear1.supernova.registry.blocks.ModBlocks;
|
import net.halbear.supernova.registry.ModParticles;
|
||||||
import dev.halbear1.supernova.registry.blocks.ModFluids;
|
import net.halbear.supernova.registry.blocks.ModBlocks;
|
||||||
import dev.halbear1.supernova.registry.items.ModItems;
|
import net.halbear.supernova.registry.blocks.ModFluids;
|
||||||
import dev.halbear1.supernova.registry.util.ModSoundEvents;
|
import net.halbear.supernova.registry.items.ModItems;
|
||||||
import dev.halbear1.supernova.registry.worldgen.ModBiomes;
|
import net.halbear.supernova.registry.util.ModSoundEvents;
|
||||||
import dev.halbear1.supernova.registry.worldgen.ModConfiguredFeatures;
|
import net.halbear.supernova.registry.worldgen.ModBiomes;
|
||||||
|
import net.halbear.supernova.registry.worldgen.ModConfiguredFeatures;
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.entity.player.PlayerEntity;
|
|
||||||
import net.minecraft.util.RegistryKey;
|
|
||||||
import net.minecraft.util.ResourceLocation;
|
|
||||||
import net.minecraft.util.registry.Registry;
|
|
||||||
import net.minecraftforge.common.MinecraftForge;
|
import net.minecraftforge.common.MinecraftForge;
|
||||||
import net.minecraftforge.event.RegistryEvent;
|
import net.minecraftforge.event.RegistryEvent;
|
||||||
import net.minecraftforge.event.entity.player.PlayerEvent;
|
|
||||||
import net.minecraftforge.eventbus.api.IEventBus;
|
import net.minecraftforge.eventbus.api.IEventBus;
|
||||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
import net.minecraftforge.fml.InterModComms;
|
import net.minecraftforge.fml.InterModComms;
|
||||||
@@ -39,10 +35,14 @@ public class SuperNova // to chef, peaceful and pal, no touchy
|
|||||||
// Directly reference a log4j logger.
|
// Directly reference a log4j logger.
|
||||||
private static final Logger LOGGER = LogManager.getLogger();
|
private static final Logger LOGGER = LogManager.getLogger();
|
||||||
|
|
||||||
|
public static float DegToRad = (float)Math.PI/180.0F;
|
||||||
|
public static float RadToDeg = 180.0F/(float)Math.PI;
|
||||||
|
|
||||||
public SuperNova() { //hal
|
public SuperNova() { //hal
|
||||||
//creates a mod event bus
|
//creates a mod event bus
|
||||||
IEventBus bus = FMLJavaModLoadingContext.get().getModEventBus();
|
IEventBus bus = FMLJavaModLoadingContext.get().getModEventBus();
|
||||||
//register the mod elements on the mod event bus (loads them)
|
//register the mod elements on the mod event bus (loads them)
|
||||||
|
ModEntities.ENTITY_TYPES.register(bus);
|
||||||
ModBlocks.BLOCKS.register(bus);
|
ModBlocks.BLOCKS.register(bus);
|
||||||
ModItems.ITEMS.register(bus);
|
ModItems.ITEMS.register(bus);
|
||||||
ModFluids.FLUIDS.register(bus);
|
ModFluids.FLUIDS.register(bus);
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package dev.halbear1.supernova.custom.block;
|
package net.halbear.supernova.custom.block;
|
||||||
|
|
||||||
import net.minecraft.block.*;
|
import net.minecraft.block.*;
|
||||||
import net.minecraft.item.BlockItemUseContext;
|
import net.minecraft.item.BlockItemUseContext;
|
||||||
+4
-4
@@ -1,8 +1,8 @@
|
|||||||
package dev.halbear1.supernova.custom.block;
|
package net.halbear.supernova.custom.block;
|
||||||
|
|
||||||
import dev.halbear1.supernova.registry.blocks.ModBlocks;
|
import net.halbear.supernova.registry.blocks.ModBlocks;
|
||||||
import dev.halbear1.supernova.registry.worldgen.ModDimensions;
|
import net.halbear.supernova.registry.worldgen.ModDimensions;
|
||||||
import dev.halbear1.supernova.world.dimension.DebugTeleporter;
|
import net.halbear.supernova.world.dimension.DebugTeleporter;
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.block.BlockState;
|
import net.minecraft.block.BlockState;
|
||||||
import net.minecraft.entity.player.PlayerEntity;
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package dev.halbear1.supernova.custom.block;
|
package net.halbear.supernova.custom.block;
|
||||||
|
|
||||||
import net.minecraft.block.*;
|
import net.minecraft.block.*;
|
||||||
import net.minecraft.item.BlockItemUseContext;
|
import net.minecraft.item.BlockItemUseContext;
|
||||||
+4
-4
@@ -1,14 +1,14 @@
|
|||||||
package dev.halbear1.supernova.custom.block;
|
package net.halbear.supernova.custom.block;
|
||||||
|
|
||||||
import dev.halbear1.supernova.custom.block.blockstate_stuff.SupernovaBlockstates;
|
import net.halbear.supernova.custom.block.blockstate_stuff.SupernovaBlockstates;
|
||||||
import dev.halbear1.supernova.registry.blocks.ModBlocks;
|
import net.halbear.supernova.registry.blocks.ModBlocks;
|
||||||
import net.minecraft.block.*;
|
import net.minecraft.block.*;
|
||||||
import net.minecraft.block.material.Material;
|
import net.minecraft.block.material.Material;
|
||||||
import net.minecraft.item.BlockItemUseContext;
|
import net.minecraft.item.BlockItemUseContext;
|
||||||
import net.minecraft.state.BooleanProperty;
|
import net.minecraft.state.BooleanProperty;
|
||||||
import net.minecraft.state.DirectionProperty;
|
import net.minecraft.state.DirectionProperty;
|
||||||
import net.minecraft.state.EnumProperty;
|
import net.minecraft.state.EnumProperty;
|
||||||
import dev.halbear1.supernova.custom.block.blockstate_stuff.enums.PipeContents;
|
import net.halbear.supernova.custom.block.blockstate_stuff.enums.PipeContents;
|
||||||
import net.minecraft.state.StateContainer;
|
import net.minecraft.state.StateContainer;
|
||||||
import net.minecraft.state.properties.BlockStateProperties;
|
import net.minecraft.state.properties.BlockStateProperties;
|
||||||
import net.minecraft.util.Direction;
|
import net.minecraft.util.Direction;
|
||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
package dev.halbear1.supernova.custom.block.blockstate_stuff;
|
package net.halbear.supernova.custom.block.blockstate_stuff;
|
||||||
|
|
||||||
import dev.halbear1.supernova.custom.block.blockstate_stuff.enums.PipeContents;
|
import net.halbear.supernova.custom.block.blockstate_stuff.enums.PipeContents;
|
||||||
import net.minecraft.state.EnumProperty;
|
import net.minecraft.state.EnumProperty;
|
||||||
|
|
||||||
public class SupernovaBlockstates {
|
public class SupernovaBlockstates {
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package dev.halbear1.supernova.custom.block.blockstate_stuff.enums;
|
package net.halbear.supernova.custom.block.blockstate_stuff.enums;
|
||||||
|
|
||||||
import net.minecraft.util.IStringSerializable;
|
import net.minecraft.util.IStringSerializable;
|
||||||
|
|
||||||
+1
-2
@@ -1,7 +1,6 @@
|
|||||||
package dev.halbear1.supernova.custom.fluid;
|
package net.halbear.supernova.custom.fluid;
|
||||||
|
|
||||||
import net.minecraft.block.FlowingFluidBlock;
|
import net.minecraft.block.FlowingFluidBlock;
|
||||||
import net.minecraft.fluid.FlowingFluid;
|
|
||||||
|
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
+1
-2
@@ -1,4 +1,4 @@
|
|||||||
package dev.halbear1.supernova.custom.fluid;
|
package net.halbear.supernova.custom.fluid;
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.block.BlockState;
|
import net.minecraft.block.BlockState;
|
||||||
@@ -18,7 +18,6 @@ import net.minecraft.world.IBlockReader;
|
|||||||
import net.minecraft.world.IWorld;
|
import net.minecraft.world.IWorld;
|
||||||
import net.minecraft.world.IWorldReader;
|
import net.minecraft.world.IWorldReader;
|
||||||
import net.minecraftforge.fluids.FluidAttributes;
|
import net.minecraftforge.fluids.FluidAttributes;
|
||||||
import net.minecraftforge.fluids.ForgeFlowingFluid;
|
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
+1
-6
@@ -1,12 +1,7 @@
|
|||||||
package dev.halbear1.supernova.custom.fluid;
|
package net.halbear.supernova.custom.fluid;
|
||||||
|
|
||||||
import dev.halbear1.supernova.registry.blocks.ModBlocks;
|
|
||||||
import jdk.nashorn.internal.ir.Block;
|
|
||||||
import net.minecraft.fluid.Fluid;
|
import net.minecraft.fluid.Fluid;
|
||||||
import net.minecraft.item.Rarity;
|
|
||||||
import net.minecraft.util.ResourceLocation;
|
import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraft.util.SoundEvent;
|
|
||||||
import net.minecraftforge.fluids.FluidAttributes;
|
|
||||||
|
|
||||||
import java.util.function.BiFunction;
|
import java.util.function.BiFunction;
|
||||||
|
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
package net.halbear.supernova.custom.fluid;
|
||||||
|
|
||||||
|
public class SupernovaOverlayRenderer {
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
package net.halbear.supernova.data;
|
||||||
|
|
||||||
|
import net.halbear.supernova.SuperNova;
|
||||||
|
import net.minecraftforge.fml.common.Mod;
|
||||||
|
|
||||||
|
@Mod.EventBusSubscriber(modid = SuperNova.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD)
|
||||||
|
public class DataGenerators {
|
||||||
|
|
||||||
|
}
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,124 @@
|
|||||||
|
package net.halbear.supernova.entity;
|
||||||
|
|
||||||
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
|
import net.minecraft.network.datasync.DataParameter;
|
||||||
|
import net.minecraft.entity.Entity;
|
||||||
|
import net.minecraft.entity.EntityType;
|
||||||
|
import net.minecraft.nbt.CompoundNBT;
|
||||||
|
import net.minecraft.network.IPacket;
|
||||||
|
import net.minecraft.network.datasync.DataSerializers;
|
||||||
|
import net.minecraft.network.datasync.EntityDataManager;
|
||||||
|
import net.minecraft.util.ActionResultType;
|
||||||
|
import net.minecraft.util.Hand;
|
||||||
|
import net.minecraft.util.math.vector.Vector3d;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
import net.minecraftforge.fml.network.NetworkHooks;
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
|
public class Spaceship extends Entity {
|
||||||
|
private static final DataParameter<Float> ORIENTATION_ROLL = EntityDataManager.createKey(Spaceship.class, DataSerializers.FLOAT);
|
||||||
|
private static final DataParameter<Float> ORIENTATION_YAW = EntityDataManager.createKey(Spaceship.class, DataSerializers.FLOAT);
|
||||||
|
private static final DataParameter<Float> ORIENTATION_PITCH = EntityDataManager.createKey(Spaceship.class, DataSerializers.FLOAT);
|
||||||
|
|
||||||
|
private static final Vector3d[] VehicleSeatOffsets = new Vector3d[]{
|
||||||
|
new Vector3d(0.0D, 3D, 0.0D),
|
||||||
|
new Vector3d(0.0D, 1.5D, 0.0D),
|
||||||
|
};
|
||||||
|
|
||||||
|
public Spaceship(EntityType<? extends Spaceship> type, World worldIn) {
|
||||||
|
super(type, worldIn);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetVehicleRoll(float value){
|
||||||
|
this.dataManager.set(ORIENTATION_ROLL, value);
|
||||||
|
}
|
||||||
|
public void SetVehicleYaw(float value){
|
||||||
|
this.dataManager.set(ORIENTATION_YAW, value);
|
||||||
|
}
|
||||||
|
public void SetVehiclePitch(float value){
|
||||||
|
this.dataManager.set(ORIENTATION_PITCH, value);
|
||||||
|
}
|
||||||
|
public float GetVehicleRoll(){
|
||||||
|
return this.dataManager.get(ORIENTATION_ROLL);
|
||||||
|
}
|
||||||
|
public float GetVehicleYaw(){
|
||||||
|
return this.dataManager.get(ORIENTATION_YAW);
|
||||||
|
}
|
||||||
|
public float GetVehiclePitch(){
|
||||||
|
return this.dataManager.get(ORIENTATION_PITCH);
|
||||||
|
}
|
||||||
|
public float[] GetVehicleRotations(){
|
||||||
|
return new float[]{GetVehicleYaw(),GetVehiclePitch(),GetVehicleRoll()};
|
||||||
|
}
|
||||||
|
public void SetVehicleRotations(float Yaw, float Pitch, float Roll){
|
||||||
|
SetVehicleRoll(Roll);
|
||||||
|
SetVehicleYaw(Yaw);
|
||||||
|
SetVehiclePitch(Pitch);
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public boolean canBeCollidedWith(){return true;}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected boolean canFitPassenger(Entity passenger) {
|
||||||
|
return this.getPassengers().size() < VehicleSeatOffsets.length;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public ActionResultType processInitialInteract(PlayerEntity player, Hand hand) {
|
||||||
|
if (this.getPassengers().size() < VehicleSeatOffsets.length && !player.isPassenger()) {
|
||||||
|
if (!this.world.isRemote()) {
|
||||||
|
return player.startRiding(this) ? ActionResultType.CONSUME : ActionResultType.PASS;
|
||||||
|
}
|
||||||
|
return ActionResultType.func_233537_a_(this.world.isRemote());
|
||||||
|
}
|
||||||
|
return ActionResultType.SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Entity getControllingPassenger() {
|
||||||
|
return this.getPassengers().isEmpty() ? null : this.getPassengers().get(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updatePassenger(Entity passenger) {
|
||||||
|
if (this.isPassenger(passenger)) {
|
||||||
|
int seatIndex = this.getPassengers().indexOf(passenger);
|
||||||
|
|
||||||
|
if (seatIndex >= 0 && seatIndex < VehicleSeatOffsets.length) {
|
||||||
|
Vector3d localOffset = VehicleSeatOffsets[seatIndex];
|
||||||
|
Vector3d rotatedOffset = localOffset.rotateYaw((float) Math.toRadians(-this.rotationYaw));
|
||||||
|
passenger.setPosition(
|
||||||
|
this.getPosX() + rotatedOffset.x,
|
||||||
|
this.getPosY() + rotatedOffset.y + passenger.getMountedYOffset(),
|
||||||
|
this.getPosZ() + rotatedOffset.z
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
super.updatePassenger(passenger);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void registerData() {
|
||||||
|
this.dataManager.register(ORIENTATION_ROLL, 0F);
|
||||||
|
this.dataManager.register(ORIENTATION_PITCH, 0F);
|
||||||
|
this.dataManager.register(ORIENTATION_YAW, 0F);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void readAdditional(CompoundNBT compoundNBT) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void writeAdditional(CompoundNBT compoundNBT) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Nonnull
|
||||||
|
public IPacket<?> createSpawnPacket() {
|
||||||
|
return NetworkHooks.getEntitySpawningPacket(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package dev.halbear1.supernova.loot_modifiers;
|
package net.halbear.supernova.loot_modifiers;
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
package net.halbear.supernova.mixin;
|
||||||
|
|
||||||
|
import net.halbear.supernova.SuperNova;
|
||||||
|
import net.minecraft.client.Minecraft;
|
||||||
|
import net.minecraft.client.renderer.ActiveRenderInfo;
|
||||||
|
import net.minecraft.client.settings.PointOfView;
|
||||||
|
import net.minecraft.entity.Entity;
|
||||||
|
import net.minecraft.util.math.vector.Vector3f;
|
||||||
|
import net.minecraft.world.IBlockReader;
|
||||||
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
|
import org.spongepowered.asm.mixin.Shadow;
|
||||||
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
|
import org.spongepowered.asm.mixin.injection.Inject;
|
||||||
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||||
|
|
||||||
|
import static net.halbear.supernova.vehicle.VehicleCameraSetup.GetCameraOffsets;
|
||||||
|
|
||||||
|
@Mixin(ActiveRenderInfo.class)
|
||||||
|
public abstract class CameraMixin {
|
||||||
|
@Inject(method = {"update", "func_216772_a"}, at = @At(value = "TAIL"),cancellable = true, remap = true)
|
||||||
|
private void update(IBlockReader currentRenderedLevel, Entity entity, boolean isDetached, boolean isMirrored, float partialTicks, CallbackInfo ci){
|
||||||
|
|
||||||
|
if(entity.isPassenger() && Minecraft.getInstance().gameSettings.getPointOfView() != PointOfView.FIRST_PERSON && entity.getRidingEntity().getType().getRegistryName().getNamespace().equals(SuperNova.MOD_ID)){
|
||||||
|
Vector3f Position = GetCameraOffsets();
|
||||||
|
this.movePosition(-this.calcCameraDistance(Position.getZ()), Position.getY(), Position.getX());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@Shadow(aliases = {"move", "func_216782_a"})
|
||||||
|
protected abstract void movePosition(double p_216782_1_, double p_216782_3_, double p_216782_5_);
|
||||||
|
@Shadow(aliases = {"getMaxZoom", "func_216779_a"}) protected abstract double calcCameraDistance(double p_216779_1_);
|
||||||
|
}
|
||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
package dev.halbear1.supernova.registry;
|
package net.halbear.supernova.registry;
|
||||||
|
|
||||||
import dev.halbear1.supernova.SuperNova;
|
import net.halbear.supernova.SuperNova;
|
||||||
import net.minecraft.inventory.EquipmentSlotType;
|
import net.minecraft.inventory.EquipmentSlotType;
|
||||||
import net.minecraft.item.IArmorMaterial;
|
import net.minecraft.item.IArmorMaterial;
|
||||||
import net.minecraft.item.crafting.Ingredient;
|
import net.minecraft.item.crafting.Ingredient;
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package net.halbear.supernova.registry;
|
||||||
|
|
||||||
|
import net.halbear.supernova.SuperNova;
|
||||||
|
import net.halbear.supernova.entity.Spaceship;
|
||||||
|
import net.minecraft.entity.EntityClassification;
|
||||||
|
import net.minecraft.entity.EntityType;
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
|
import net.minecraftforge.fml.RegistryObject;
|
||||||
|
import net.minecraftforge.registries.DeferredRegister;
|
||||||
|
import net.minecraftforge.registries.ForgeRegistries;
|
||||||
|
|
||||||
|
public class ModEntities {
|
||||||
|
public static DeferredRegister<EntityType<?>> ENTITY_TYPES = DeferredRegister.create(ForgeRegistries.ENTITIES, SuperNova.MOD_ID);
|
||||||
|
|
||||||
|
public static final RegistryObject<EntityType<Spaceship>> SPACESHIP =
|
||||||
|
ENTITY_TYPES.register("spaceship", ()-> EntityType.Builder.create(Spaceship::new,
|
||||||
|
EntityClassification.MISC ).size(3f,8f).build(new ResourceLocation(SuperNova.MOD_ID, "spaceship").toString()));
|
||||||
|
}
|
||||||
+4
-19
@@ -1,28 +1,13 @@
|
|||||||
package dev.halbear1.supernova.registry;
|
package net.halbear.supernova.registry;
|
||||||
|
|
||||||
import dev.halbear1.supernova.*;
|
import net.halbear.supernova.*;
|
||||||
import dev.halbear1.supernova.loot_modifiers.ModReplaceLootDrop;
|
import net.halbear.supernova.SuperNova;
|
||||||
import dev.halbear1.supernova.registry.worldgen.ModDimensions;
|
import net.halbear.supernova.loot_modifiers.ModReplaceLootDrop;
|
||||||
import net.minecraft.entity.Entity;
|
|
||||||
import net.minecraft.entity.player.PlayerEntity;
|
|
||||||
import net.minecraft.entity.player.ServerPlayerEntity;
|
|
||||||
import net.minecraft.server.MinecraftServer;
|
|
||||||
import net.minecraft.util.RegistryKey;
|
|
||||||
import net.minecraft.util.ResourceLocation;
|
import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraft.util.Util;
|
|
||||||
import net.minecraft.util.registry.Registry;
|
|
||||||
import net.minecraft.util.text.ChatType;
|
|
||||||
import net.minecraft.util.text.StringTextComponent;
|
|
||||||
import net.minecraft.world.World;
|
|
||||||
import net.minecraftforge.client.event.RenderGameOverlayEvent;
|
|
||||||
import net.minecraftforge.common.loot.GlobalLootModifierSerializer;
|
import net.minecraftforge.common.loot.GlobalLootModifierSerializer;
|
||||||
import net.minecraftforge.event.RegistryEvent;
|
import net.minecraftforge.event.RegistryEvent;
|
||||||
import net.minecraftforge.event.ServerChatEvent;
|
|
||||||
import net.minecraftforge.event.entity.player.PlayerEvent;
|
|
||||||
import net.minecraftforge.eventbus.api.Event;
|
|
||||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
import net.minecraftforge.fml.common.Mod;
|
import net.minecraftforge.fml.common.Mod;
|
||||||
import net.minecraftforge.fml.server.ServerLifecycleHooks;
|
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
+2
-4
@@ -1,9 +1,7 @@
|
|||||||
package dev.halbear1.supernova.registry;
|
package net.halbear.supernova.registry;
|
||||||
|
|
||||||
import dev.halbear1.supernova.SuperNova;
|
import net.halbear.supernova.SuperNova;
|
||||||
import net.minecraft.particles.BasicParticleType;
|
|
||||||
import net.minecraft.particles.ParticleType;
|
import net.minecraft.particles.ParticleType;
|
||||||
import net.minecraftforge.fml.RegistryObject;
|
|
||||||
import net.minecraftforge.registries.DeferredRegister;
|
import net.minecraftforge.registries.DeferredRegister;
|
||||||
import net.minecraftforge.registries.ForgeRegistries;
|
import net.minecraftforge.registries.ForgeRegistries;
|
||||||
|
|
||||||
+7
-7
@@ -1,12 +1,12 @@
|
|||||||
package dev.halbear1.supernova.registry.blocks;
|
package net.halbear.supernova.registry.blocks;
|
||||||
|
|
||||||
import dev.halbear1.supernova.SuperNova;
|
import net.halbear.supernova.SuperNova;
|
||||||
|
|
||||||
import dev.halbear1.supernova.custom.block.ArcFurnace;
|
import net.halbear.supernova.custom.block.ArcFurnace;
|
||||||
import dev.halbear1.supernova.custom.block.DebugPortalBlock;
|
import net.halbear.supernova.custom.block.DebugPortalBlock;
|
||||||
import dev.halbear1.supernova.custom.block.StraightSteelPipe;
|
import net.halbear.supernova.custom.block.StraightSteelPipe;
|
||||||
import dev.halbear1.supernova.registry.items.ModItems;
|
import net.halbear.supernova.registry.items.ModItems;
|
||||||
import dev.halbear1.supernova.registry.items.ItemGroups;
|
import net.halbear.supernova.registry.items.ItemGroups;
|
||||||
import net.minecraft.block.*;
|
import net.minecraft.block.*;
|
||||||
import net.minecraft.block.material.Material;
|
import net.minecraft.block.material.Material;
|
||||||
import net.minecraft.item.BlockItem;
|
import net.minecraft.item.BlockItem;
|
||||||
+6
-7
@@ -1,10 +1,10 @@
|
|||||||
package dev.halbear1.supernova.registry.blocks;
|
package net.halbear.supernova.registry.blocks;
|
||||||
|
|
||||||
import dev.halbear1.supernova.SuperNova;
|
import net.halbear.supernova.SuperNova;
|
||||||
import dev.halbear1.supernova.custom.fluid.FlammableFluid;
|
import net.halbear.supernova.custom.fluid.FlammableFluid;
|
||||||
import dev.halbear1.supernova.custom.fluid.SupernovaFlowingFluid;
|
import net.halbear.supernova.custom.fluid.SupernovaFlowingFluid;
|
||||||
import dev.halbear1.supernova.custom.fluid.SupernovaFluidAttributes;
|
import net.halbear.supernova.custom.fluid.SupernovaFluidAttributes;
|
||||||
import dev.halbear1.supernova.registry.items.ModItems;
|
import net.halbear.supernova.registry.items.ModItems;
|
||||||
import net.minecraft.block.AbstractBlock;
|
import net.minecraft.block.AbstractBlock;
|
||||||
import net.minecraft.block.FlowingFluidBlock;
|
import net.minecraft.block.FlowingFluidBlock;
|
||||||
import net.minecraft.block.material.Material;
|
import net.minecraft.block.material.Material;
|
||||||
@@ -12,7 +12,6 @@ import net.minecraft.fluid.FlowingFluid;
|
|||||||
import net.minecraft.fluid.Fluid;
|
import net.minecraft.fluid.Fluid;
|
||||||
import net.minecraft.util.ResourceLocation;
|
import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraft.util.SoundEvents;
|
import net.minecraft.util.SoundEvents;
|
||||||
import net.minecraftforge.eventbus.api.IEventBus;
|
|
||||||
import net.minecraftforge.fluids.FluidAttributes;
|
import net.minecraftforge.fluids.FluidAttributes;
|
||||||
import net.minecraftforge.fluids.ForgeFlowingFluid;
|
import net.minecraftforge.fluids.ForgeFlowingFluid;
|
||||||
import net.minecraftforge.fml.RegistryObject;
|
import net.minecraftforge.fml.RegistryObject;
|
||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
package dev.halbear1.supernova.registry.items;
|
package net.halbear.supernova.registry.items;
|
||||||
|
|
||||||
import dev.halbear1.supernova.registry.blocks.ModBlocks;
|
import net.halbear.supernova.registry.blocks.ModBlocks;
|
||||||
import net.minecraft.item.ItemGroup;
|
import net.minecraft.item.ItemGroup;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
+4
-5
@@ -1,15 +1,14 @@
|
|||||||
package dev.halbear1.supernova.registry.items;
|
package net.halbear.supernova.registry.items;
|
||||||
|
|
||||||
import dev.halbear1.supernova.SuperNova;
|
import net.halbear.supernova.SuperNova;
|
||||||
import dev.halbear1.supernova.registry.blocks.ModFluids;
|
import net.halbear.supernova.registry.blocks.ModFluids;
|
||||||
import dev.halbear1.supernova.registry.util.ModSoundEvents;
|
import net.halbear.supernova.registry.util.ModSoundEvents;
|
||||||
import net.minecraft.client.gui.screen.Screen;
|
import net.minecraft.client.gui.screen.Screen;
|
||||||
import net.minecraft.client.util.ITooltipFlag;
|
import net.minecraft.client.util.ITooltipFlag;
|
||||||
import net.minecraft.item.*;
|
import net.minecraft.item.*;
|
||||||
import net.minecraft.util.text.ITextComponent;
|
import net.minecraft.util.text.ITextComponent;
|
||||||
import net.minecraft.util.text.TranslationTextComponent;
|
import net.minecraft.util.text.TranslationTextComponent;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.common.ToolType;
|
|
||||||
import net.minecraftforge.fml.RegistryObject;
|
import net.minecraftforge.fml.RegistryObject;
|
||||||
import net.minecraftforge.registries.DeferredRegister;
|
import net.minecraftforge.registries.DeferredRegister;
|
||||||
import net.minecraftforge.registries.ForgeRegistries;
|
import net.minecraftforge.registries.ForgeRegistries;
|
||||||
+12
-33
@@ -1,48 +1,26 @@
|
|||||||
package dev.halbear1.supernova.registry.util;
|
package net.halbear.supernova.registry.util;
|
||||||
|
|
||||||
import dev.halbear1.supernova.SuperNova;
|
import net.halbear.supernova.SuperNova;
|
||||||
//import dev.halbear1.supernova.custom.particle.StarSparkle;
|
//import dev.halbear1.supernova.custom.particle.StarSparkle;
|
||||||
import dev.halbear1.supernova.registry.ModParticles;
|
import net.halbear.supernova.entity.EntityRenderers.SpaceshipRenderer;
|
||||||
import dev.halbear1.supernova.registry.blocks.ModBlocks;
|
import net.halbear.supernova.entity.Spaceship;
|
||||||
import dev.halbear1.supernova.registry.blocks.ModFluids;
|
import net.halbear.supernova.registry.ModEntities;
|
||||||
import dev.halbear1.supernova.registry.worldgen.ModBiomes;
|
import net.halbear.supernova.registry.blocks.ModBlocks;
|
||||||
import dev.halbear1.supernova.registry.worldgen.ModDimensions;
|
import net.halbear.supernova.registry.blocks.ModFluids;
|
||||||
import net.minecraft.client.Minecraft;
|
|
||||||
import net.minecraft.client.particle.IParticleFactory;
|
|
||||||
import net.minecraft.client.renderer.RenderType;
|
import net.minecraft.client.renderer.RenderType;
|
||||||
import net.minecraft.client.renderer.RenderTypeLookup;
|
import net.minecraft.client.renderer.RenderTypeLookup;
|
||||||
import net.minecraft.client.world.DimensionRenderInfo;
|
import net.minecraft.client.renderer.entity.EntityRenderer;
|
||||||
|
import net.minecraft.client.renderer.entity.EntityRendererManager;
|
||||||
|
import net.minecraft.client.renderer.entity.MobRenderer;
|
||||||
import net.minecraft.entity.Entity;
|
import net.minecraft.entity.Entity;
|
||||||
import net.minecraft.entity.LivingEntity;
|
|
||||||
import net.minecraft.entity.player.PlayerEntity;
|
|
||||||
import net.minecraft.fluid.FluidState;
|
|
||||||
import net.minecraft.server.MinecraftServer;
|
|
||||||
import net.minecraft.util.RegistryKey;
|
|
||||||
import net.minecraft.util.ResourceLocation;
|
import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraft.util.Util;
|
|
||||||
import net.minecraft.util.math.BlockPos;
|
|
||||||
import net.minecraft.util.registry.Registry;
|
|
||||||
import net.minecraft.util.text.ChatType;
|
|
||||||
import net.minecraft.util.text.StringTextComponent;
|
|
||||||
import net.minecraft.world.Dimension;
|
|
||||||
import net.minecraft.world.World;
|
|
||||||
import net.minecraftforge.api.distmarker.Dist;
|
import net.minecraftforge.api.distmarker.Dist;
|
||||||
import net.minecraftforge.client.event.EntityViewRenderEvent;
|
|
||||||
import net.minecraftforge.client.event.ParticleFactoryRegisterEvent;
|
|
||||||
import net.minecraftforge.event.TickEvent;
|
|
||||||
import net.minecraftforge.event.entity.living.LivingEntityUseItemEvent;
|
|
||||||
import net.minecraftforge.event.entity.player.PlayerEvent;
|
|
||||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
import net.minecraftforge.fml.RegistryObject;
|
import net.minecraftforge.fml.RegistryObject;
|
||||||
|
import net.minecraftforge.fml.client.registry.RenderingRegistry;
|
||||||
import net.minecraftforge.fml.common.Mod;
|
import net.minecraftforge.fml.common.Mod;
|
||||||
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
|
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraftforge.fml.server.ServerLifecycleHooks;
|
|
||||||
|
|
||||||
import java.util.AbstractMap;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.stream.Stream;
|
|
||||||
|
|
||||||
@Mod.EventBusSubscriber(modid = SuperNova.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT)
|
@Mod.EventBusSubscriber(modid = SuperNova.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT)
|
||||||
public class ClientEventHandler {
|
public class ClientEventHandler {
|
||||||
@@ -75,6 +53,7 @@ public class ClientEventHandler {
|
|||||||
RenderTypeLookup.setRenderLayer(ModFluids.KEROSENE_FLOWING.get(), RenderType.getTranslucent());
|
RenderTypeLookup.setRenderLayer(ModFluids.KEROSENE_FLOWING.get(), RenderType.getTranslucent());
|
||||||
RenderTypeLookup.setRenderLayer(ModFluids.KEROSENE_BLOCK.get(), RenderType.getTranslucent());
|
RenderTypeLookup.setRenderLayer(ModFluids.KEROSENE_BLOCK.get(), RenderType.getTranslucent());
|
||||||
|
|
||||||
|
RenderingRegistry.registerEntityRenderingHandler(ModEntities.SPACESHIP.get(), SpaceshipRenderer::new);
|
||||||
/*SetCollectionRenderType(RenderType.getCutoutMipped(), // Cutout Mipped: Cutout but with mipmapping. Textures from far away are simplified for performance.
|
/*SetCollectionRenderType(RenderType.getCutoutMipped(), // Cutout Mipped: Cutout but with mipmapping. Textures from far away are simplified for performance.
|
||||||
//blocks here
|
//blocks here
|
||||||
);
|
);
|
||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
package dev.halbear1.supernova.registry.util;
|
package net.halbear.supernova.registry.util;
|
||||||
|
|
||||||
import dev.halbear1.supernova.SuperNova;
|
import net.halbear.supernova.SuperNova;
|
||||||
import net.minecraft.util.ResourceLocation;
|
import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraft.util.SoundEvent;
|
import net.minecraft.util.SoundEvent;
|
||||||
import net.minecraftforge.fml.RegistryObject;
|
import net.minecraftforge.fml.RegistryObject;
|
||||||
+3
-3
@@ -1,7 +1,7 @@
|
|||||||
package dev.halbear1.supernova.registry.util;
|
package net.halbear.supernova.registry.util;
|
||||||
import dev.halbear1.supernova.SuperNova;
|
import net.halbear.supernova.SuperNova;
|
||||||
|
|
||||||
import dev.halbear1.supernova.registry.blocks.ModFluids;
|
import net.halbear.supernova.registry.blocks.ModFluids;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.entity.Entity;
|
import net.minecraft.entity.Entity;
|
||||||
import net.minecraft.entity.player.PlayerEntity;
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
package dev.halbear1.supernova.registry.worldgen;
|
package net.halbear.supernova.registry.worldgen;
|
||||||
|
|
||||||
import dev.halbear1.supernova.SuperNova;
|
import net.halbear.supernova.SuperNova;
|
||||||
import net.minecraft.util.RegistryKey;
|
import net.minecraft.util.RegistryKey;
|
||||||
import net.minecraft.util.ResourceLocation;
|
import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraft.util.registry.Registry;
|
import net.minecraft.util.registry.Registry;
|
||||||
+3
-3
@@ -1,7 +1,7 @@
|
|||||||
package dev.halbear1.supernova.registry.worldgen;
|
package net.halbear.supernova.registry.worldgen;
|
||||||
|
|
||||||
import dev.halbear1.supernova.SuperNova;
|
import net.halbear.supernova.SuperNova;
|
||||||
import dev.halbear1.supernova.registry.blocks.ModBlocks;
|
import net.halbear.supernova.registry.blocks.ModBlocks;
|
||||||
import net.minecraft.util.ResourceLocation;
|
import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraft.util.registry.Registry;
|
import net.minecraft.util.registry.Registry;
|
||||||
import net.minecraft.util.registry.WorldGenRegistries;
|
import net.minecraft.util.registry.WorldGenRegistries;
|
||||||
+2
-3
@@ -1,6 +1,6 @@
|
|||||||
package dev.halbear1.supernova.registry.worldgen;
|
package net.halbear.supernova.registry.worldgen;
|
||||||
|
|
||||||
import dev.halbear1.supernova.SuperNova;
|
import net.halbear.supernova.SuperNova;
|
||||||
import net.minecraft.entity.player.PlayerEntity;
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
import net.minecraft.server.MinecraftServer;
|
import net.minecraft.server.MinecraftServer;
|
||||||
import net.minecraft.util.RegistryKey;
|
import net.minecraft.util.RegistryKey;
|
||||||
@@ -11,7 +11,6 @@ import net.minecraft.util.text.ChatType;
|
|||||||
import net.minecraft.util.text.StringTextComponent;
|
import net.minecraft.util.text.StringTextComponent;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.event.entity.player.PlayerEvent;
|
import net.minecraftforge.event.entity.player.PlayerEvent;
|
||||||
import net.minecraftforge.eventbus.api.IEventBus;
|
|
||||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
import net.minecraftforge.fml.server.ServerLifecycleHooks;
|
import net.minecraftforge.fml.server.ServerLifecycleHooks;
|
||||||
|
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
package net.halbear.supernova.registry.worldgen;
|
||||||
|
|
||||||
|
public class ModFeatures {
|
||||||
|
}
|
||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
package dev.halbear1.supernova.registry.worldgen;
|
package net.halbear.supernova.registry.worldgen;
|
||||||
|
|
||||||
import dev.halbear1.supernova.SuperNova;
|
import net.halbear.supernova.SuperNova;
|
||||||
import net.minecraft.world.gen.surfacebuilders.SurfaceBuilder;
|
import net.minecraft.world.gen.surfacebuilders.SurfaceBuilder;
|
||||||
import net.minecraftforge.registries.DeferredRegister;
|
import net.minecraftforge.registries.DeferredRegister;
|
||||||
import net.minecraftforge.registries.ForgeRegistries;
|
import net.minecraftforge.registries.ForgeRegistries;
|
||||||
+3
-6
@@ -1,10 +1,7 @@
|
|||||||
package dev.halbear1.supernova.setup;
|
package net.halbear.supernova.setup;
|
||||||
import dev.halbear1.supernova.SuperNova;
|
import net.halbear.supernova.SuperNova;
|
||||||
import dev.halbear1.supernova.registry.worldgen.ModConfiguredFeatures;
|
import net.halbear.supernova.registry.worldgen.ModConfiguredFeatures;
|
||||||
import dev.halbear1.supernova.registry.worldgen.ModDimensions;
|
|
||||||
import net.minecraft.entity.player.PlayerEntity;
|
|
||||||
import net.minecraft.world.gen.GenerationStage;
|
import net.minecraft.world.gen.GenerationStage;
|
||||||
import net.minecraftforge.event.entity.player.PlayerEvent;
|
|
||||||
import net.minecraftforge.event.world.BiomeLoadingEvent;
|
import net.minecraftforge.event.world.BiomeLoadingEvent;
|
||||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
import net.minecraftforge.fml.common.Mod;
|
import net.minecraftforge.fml.common.Mod;
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
package net.halbear.supernova.setup;
|
||||||
|
import net.halbear.supernova.SuperNova;
|
||||||
|
import net.halbear.supernova.entity.Spaceship;
|
||||||
|
import net.halbear.supernova.registry.ModEntities;
|
||||||
|
import net.halbear.supernova.registry.worldgen.ModConfiguredFeatures;
|
||||||
|
import net.minecraft.entity.EntityType;
|
||||||
|
import net.minecraft.world.gen.GenerationStage;
|
||||||
|
import net.minecraftforge.event.RegistryEvent;
|
||||||
|
import net.minecraftforge.event.entity.EntityAttributeCreationEvent;
|
||||||
|
import net.minecraftforge.event.world.BiomeLoadingEvent;
|
||||||
|
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
|
import net.minecraftforge.fml.common.Mod;
|
||||||
|
|
||||||
|
@Mod.EventBusSubscriber(modid = SuperNova.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD)
|
||||||
|
public class ModEventHandler {
|
||||||
|
@SubscribeEvent
|
||||||
|
public static void addEntityAttributes(EntityAttributeCreationEvent event){
|
||||||
|
}
|
||||||
|
|
||||||
|
@SubscribeEvent
|
||||||
|
public static void onRegisterEntities(RegistryEvent.Register<EntityType<?>> event){
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
package net.halbear.supernova.vehicle;
|
||||||
|
|
||||||
|
import net.halbear.supernova.*;
|
||||||
|
import net.halbear.supernova.entity.Spaceship;
|
||||||
|
import net.halbear.supernova.registry.ModEntities;
|
||||||
|
import net.minecraft.client.Minecraft;
|
||||||
|
import net.minecraft.util.math.vector.Vector3f;
|
||||||
|
import net.minecraftforge.client.event.EntityViewRenderEvent;
|
||||||
|
import net.minecraftforge.event.TickEvent;
|
||||||
|
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
|
import net.minecraftforge.fml.common.Mod;
|
||||||
|
|
||||||
|
@Mod.EventBusSubscriber
|
||||||
|
public class VehicleCameraSetup {
|
||||||
|
private static Vector3f CamOffset = new Vector3f(0.0f, 0.0f, 0.0f);
|
||||||
|
private static Vector3f CamTransformations = new Vector3f(0.0f, 0.0f, 0.0f);
|
||||||
|
private static float CamFOV = 0.0f;
|
||||||
|
private static float CamFOVExternal = 0.0f;
|
||||||
|
private static String CurrentEntity = "";
|
||||||
|
private static boolean SupernovaVehicle = false;
|
||||||
|
public static Vector3f GetCameraOffsets(){
|
||||||
|
return CamOffset;
|
||||||
|
}
|
||||||
|
|
||||||
|
@SubscribeEvent
|
||||||
|
public static void PlayerTickEvent(TickEvent.PlayerTickEvent event) {
|
||||||
|
|
||||||
|
Minecraft minecraftInstance = Minecraft.getInstance();
|
||||||
|
if (minecraftInstance.player != null && minecraftInstance.player.isPassenger() && minecraftInstance.player.getRidingEntity() != null
|
||||||
|
&& CurrentEntity != minecraftInstance.player.getRidingEntity().getType().getRegistryName().toString()) {
|
||||||
|
CurrentEntity = minecraftInstance.player.getRidingEntity().getType().getRegistryName().toString();
|
||||||
|
SupernovaVehicle = minecraftInstance.player.getRidingEntity().getType().getRegistryName().getNamespace().equals(SuperNova.MOD_ID);
|
||||||
|
if (CurrentEntity.equals(ModEntities.SPACESHIP.get().getRegistryName().toString())) {
|
||||||
|
CamOffset = new Vector3f(0.0f, -0.75f, 6.5f);
|
||||||
|
CamTransformations = new Vector3f(0.0f, 0.0f, 0.0f);
|
||||||
|
CamFOV = 70.0f;
|
||||||
|
CamFOVExternal = 60.0f;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (minecraftInstance.player != null && (!minecraftInstance.player.isPassenger() || !SupernovaVehicle)
|
||||||
|
&& (CamFOVExternal != (float) Minecraft.getInstance().gameSettings.fov
|
||||||
|
|| CamFOV != (float) Minecraft.getInstance().gameSettings.fov || CamOffset.getX() != 0 || CamOffset.getY() != 0
|
||||||
|
|| CamOffset.getZ() != 0 || CamTransformations.getX() != 0 || CamTransformations.getY() != 0
|
||||||
|
|| CamTransformations.getZ() != 0)) {
|
||||||
|
CamOffset = new Vector3f(0.0f, 0.0f, 0.0f);// reset if the players not riding an entity and if any the values aren't 0
|
||||||
|
CamTransformations = new Vector3f(0.0f, 0.0f, 0.0f);
|
||||||
|
CamFOV = (float) Minecraft.getInstance().gameSettings.fov;
|
||||||
|
CamFOVExternal = (float) Minecraft.getInstance().gameSettings.fov;
|
||||||
|
if (!minecraftInstance.player.isPassenger())
|
||||||
|
CurrentEntity = "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@SubscribeEvent
|
||||||
|
public static void onCameraSetup(EntityViewRenderEvent.CameraSetup event) {
|
||||||
|
if (SupernovaVehicle) {
|
||||||
|
event.setRoll(event.getRoll() + CamTransformations.getX());
|
||||||
|
event.setYaw(event.getYaw() + CamTransformations.getY());
|
||||||
|
event.setPitch(event.getPitch() + CamTransformations.getZ());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+3
-3
@@ -1,7 +1,7 @@
|
|||||||
package dev.halbear1.supernova.world.dimension;
|
package net.halbear.supernova.world.dimension;
|
||||||
|
|
||||||
import dev.halbear1.supernova.custom.block.ArcFurnace;
|
import net.halbear.supernova.custom.block.ArcFurnace;
|
||||||
import dev.halbear1.supernova.registry.blocks.ModBlocks;
|
import net.halbear.supernova.registry.blocks.ModBlocks;
|
||||||
import net.minecraft.block.material.Material;
|
import net.minecraft.block.material.Material;
|
||||||
import net.minecraft.entity.Entity;
|
import net.minecraft.entity.Entity;
|
||||||
import net.minecraft.fluid.Fluids;
|
import net.minecraft.fluid.Fluids;
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
package net.halbear.supernova.world.gen.ores;
|
||||||
|
|
||||||
|
public class OreInCave {
|
||||||
|
}
|
||||||
@@ -29,9 +29,9 @@ displayName="SuperNova" #mandatory
|
|||||||
# A file name (in the root of the mod JAR) containing a logo for display
|
# A file name (in the root of the mod JAR) containing a logo for display
|
||||||
logoFile="SuperNova.png" #optional
|
logoFile="SuperNova.png" #optional
|
||||||
# A text field displayed in the mod UI
|
# A text field displayed in the mod UI
|
||||||
credits="halbear1, Masterchefreal, TechyKnight, Peacefulgamer_, Billz_Game" #optional
|
credits="halbear1, TechyKnight, Billz_Game" #optional
|
||||||
# A text field displayed in the mod UI
|
# A text field displayed in the mod UI
|
||||||
authors="halbear1" #optional
|
authors="Halbear Networking & Software Ltd" #optional
|
||||||
# The description text for the mod (multi line!) (#mandatory)
|
# The description text for the mod (multi line!) (#mandatory)
|
||||||
description='''
|
description='''
|
||||||
SuperNova Space travel mod developed by Iron Horse Game Development (visit https://iron-horse.games/ to find out more)
|
SuperNova Space travel mod developed by Iron Horse Game Development (visit https://iron-horse.games/ to find out more)
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 57 KiB |
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"required": true,
|
||||||
|
"package": "net.halbear.supernova.mixin",
|
||||||
|
"refmap": "supernova.mixin-refmap.json",
|
||||||
|
"compatibilityLevel": "JAVA_8",
|
||||||
|
"client": [
|
||||||
|
"CameraMixin"
|
||||||
|
],
|
||||||
|
"injectors": {
|
||||||
|
"defaultRequire": 1
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user